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. 마찬가지로 인수를으로 입력 힌트하면 arrayPHP는 컬렉션을 전달할 수 없습니다. 최신 버전의 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 |