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)
지정된 컬럼에 있는 값만 컬렉션을 반환합니다.이전 버전의 Larabel에서는 이 메서드가 호출되었습니다.lists
.toArray()
모델/컬렉션을 단순한 PHP 배열로 변환합니다.
주의: 컬렉션은 강화된 배열입니다.이 기능은 어레이와 비슷하지만 문서에서 볼 수 있듯이 기능이 많이 추가되었습니다.
안타깝게도 PHP에서는 어레이를 사용할 수 있는 모든 곳에서 컬렉션 개체를 사용할 수 없습니다.예를 들어, 에서 컬렉션을 사용하는 경우foreach
loop은 OK입니다.그것을 다음에 전달해 주세요.array_map
그렇지 않습니다.마찬가지로 인수를 다음과 같이 입력했을 경우array
, PHP에서는 컬렉션을 전달할 수 없습니다.PHP 7.1부터는 typehint가 있어 배열과 컬렉션을 모두 수용할 수 있습니다.
컬렉션에서 일반 배열을 가져오려면 해당 메서드를 호출하십시오.
1 에 의해 발생한 에러findOrFail
그리고.firstOrFail
methods는 a입니다.이 예외를 직접 검출하지 않으면 Laravel은 404로 응답합니다.이것은, 대부분의 경우에 필요한 것입니다.
변경되었을 가능성이 있습니다만, findorFail 메서드는 다음의 2개의 인수를 사용할 수 있습니다.$id
그리고.$columns
혼합/배열 파라미터가 있습니다.두 번째 arg를 전달할 필요는 없습니다.단, 다음과 같이 동작합니다.
$post = Post::findOrFail([1,2], ['title', 'subtitle']);
다음 중 하나가$ids
실패,ModelNotFoundException
'모델에 대한 쿼리 결과 없음...'가 던져집니다.
언급URL : https://stackoverflow.com/questions/33027047/what-is-the-difference-between-find-findorfail-first-firstorfail-get
'programing' 카테고리의 다른 글
Eclipse에서 maven 저장소를 업데이트하려면 어떻게 해야 합니까? (0) | 2022.10.22 |
---|---|
vuejs 2에서 구성 요소의 내부 html을 변수로 가져옵니다. (0) | 2022.10.22 |
Grunt가 다른 설정에 대해 index.html을 생성하도록 합니다. (0) | 2022.10.22 |
PHP의 연결 배열에 항목 푸시 (0) | 2022.10.22 |
단일 곱셈으로 비트 추출 (0) | 2022.10.22 |