원본글 - Laravel 8.23 Released

Laravel 팀에서 laravel 8.23을 발표 했습니다.
이번 발표에는 새로운 sole() 쿼리 빌더 메소드와, throw_ifthrow_unless의 개선사항과 최신 변경사항들이 8.x 브랜치에 추가되었습니다.

sole 메소드 쿼리 빌더에 추가

Sole was added to the query builder, which was described in the initial pull request as follows:

Sole이 쿼리빌더에 추가되었습니다. 이는 pull 요청에 다음과 같이 설명 되어있습니다.

Django의 get()과 Rails의 .solefind_sole_by 과 유사합니다.

DB::table('products')->where('ref', '#123')->sole()는 기준과 일지하지 않는 유일한 레코드를 반환합니다. 레코드가 발견되지 않으면, RecordsNotFoundException 예외를 발생 시키고, 여러개의 레코드가 발견되면 MultipleRecordsFoundException 예외를 발생시킵니다.

이 특징은 초기에 Mohamed Said의 의해 기여 되어졌고, Mior Muhammad ZakiRodrigo Pedra Brum의 의해 내용이 업데이트 되었습니다.
이 기능과 관련된 커밋 및 풀 요청에 대한 자세한 내용은 릴리즈 정보를 참조하세요.

throw_ifthrow_unless의 기본 파라미터 추가

Sjors Ottjes가 메시지를 두 번째 매개 변수로 전달하는 기능을 제공했습니다.

// Currently:
throw_if(
    $sometingIsWrong,
    new RuntimeException('something wrong with user '.$user->id)
);

// With this PR:
throw_if(
    $sometingIsWrong,
    'something wrong with user '.$user->id
);

// If the message is an existing class, that will be used as the exception
throw_if($somethingIsWrong, LogicException::class);

릴리즈 노트

아래의 새로운 기능 및 업데이트의 전체 목록은 GitHub 8.22.0과 8.23.0에서 차이점을 확인할 수 있습니다.
다음 릴리스 정보는 변경 로그에서 직접 가져온 것입니다.

v8.23.0

Added

Fixed

마치며

릴리즈노트에 글을 보면 이번글의 sole() 메소드 처럼 꿀팁들이 간혹 들어 있곤합니다.
근데 이 글을 번역하기 시작하면 메번 릴리즈 노트 때 마다 글을 번역해야 될 것 같은 느낌이 들어 살짝 피해 왔는데 이번 sole() 메소드가 나름 참신해 번역해 보았습니다.
사실 글 주제가 떨어진건 안 비밀