find (), findOrFail (), first (), firstOrFail (), get (), list (), toArray ()의 차이점은 무엇입니까?
이 방법의 차이점은 무엇입니까?
find()
findOrFail()
first()
firstOrFail()
get()
list()
toArray()
나는 그것들을 사용해 왔고 각각 다른 결과를 제공하며 때로는 내 함수가 배열을 기대하기 때문에 toArray()
끝에 추가해야합니다 get()
. 다른 방법도 배열을 생성하지 않습니까?
find($id)
ID를 취하고 단일 모델을 반환합니다. 일치하는 모델이 없으면를 반환합니다null
.findOrFail($id)
ID를 취하고 단일 모델을 반환합니다. 일치하는 모델이 없으면 오류 1 이 발생 합니다.first()
데이터베이스에서 찾은 첫 번째 레코드를 반환합니다. 일치하는 모델이 없으면를 반환합니다null
.firstOrFail()
데이터베이스에서 찾은 첫 번째 레코드를 반환합니다. 일치하는 모델이 없으면 오류 1 이 발생 합니다.get()
쿼리와 일치하는 모델 컬렉션을 반환합니다.pluck($column)
주어진 열에있는 값의 컬렉션 만 반환합니다. 이전 버전의 라 라벨에서는이 메서드를lists
.toArray()
모델 / 컬렉션을 간단한 PHP 배열로 변환합니다.
참고 : 컬렉션 은 강화 된 배열입니다. 배열과 유사하게 작동하지만 문서 에서 볼 수 있듯이 많은 추가 기능이 있습니다 .
불행히도 PHP는 배열을 사용할 수있는 모든 곳에서 컬렉션 객체를 사용하도록 허용하지 않습니다. 예를 들어, foreach
루프 에서 컬렉션을 사용하는 것은 괜찮습니다 array_map
. 마찬가지로 인수를으로 입력 힌트하면 array
PHP는 컬렉션을 전달할 수 없습니다. 최신 버전의 PHP에는 iterable
배열과 컬렉션을 모두 허용하는 데 사용할 수있는 typehint가 있습니다.
컬렉션에서 일반 배열을 얻으려면 해당 all()
메서드를 호출하십시오 .
1findOrFail
및 firstOrFail
메서드 에서 발생한 오류 는 ModelNotFoundException
. 이 예외를 직접 포착하지 않으면 Laravel은 대부분의 시간을 원하는 404로 응답 합니다.
@Joseph Silber의 모든 정보는 정확하고 매우 유용합니다.
list ()에 대한 답변을 추가하고 싶습니다.
Laravel 5.2에서 Collection, 쿼리 빌더 및 Eloquent 쿼리 빌더 객체의 list 메소드는 pluck으로 이름이 변경되었습니다. 메서드 서명은 동일하게 유지됩니다.
'Development Tip' 카테고리의 다른 글
PowerShell Copy-Item의 제외 목록이 작동하지 않는 것 같습니다. (0) | 2020.11.27 |
---|---|
추가 된 요소에서 CSS 전환 트리거 (0) | 2020.11.26 |
Lucene QueryParser에서 두 개의 필드를 지정하는 방법은 무엇입니까? (0) | 2020.11.26 |
Xcode 4에서“Run> Stop on Objective-C 예외”? (0) | 2020.11.26 |
한 시스템에서 다른 시스템으로 Xcode 4 코드 스 니펫을 전송하는 방법 (0) | 2020.11.26 |