programing

웅변가\모델의 차이: get()와 all()

magicmemo 2023. 9. 3. 12:32
반응형

웅변가\모델의 차이: get()와 all()

용도 간의 차이점은 무엇입니까?User::all()그리고.User::get()웅변가에서?

Laravel API에서는 다음에 대해서만 설명합니다.Eloquent\Model.
다음에 설명되어 있을 수 있습니다.Eloquent\Builder.

User::all()그리고.User::get()똑같은 일을 할 겁니다

all()의 정적 메서드입니다.Eloquent\Model새 쿼리 개체를 만들고 호출하기만 하면 됩니다.get()그 위에. 위에.all()수행된 쿼리는 수정할 수 없습니다. 단, 열을 매개 변수로 전달하여 선택할 수 있습니다.

get()에 대한 방법입니다.Eloquent\Builder물건.where 절을 추가하는 것과 같이 쿼리를 수정해야 하는 경우에는get().예를들면,User::where('name', 'David')->get();.

모델 클래스에는 정의되지 않은 정적 호출을 받고 인스턴스를 만든 다음 인스턴스에서 메서드를 호출하는 마법 메서드가 있기 때문입니다.

소스 코드: https://github.com/laravel/framework/blob/5.6/src/Illuminate/Database/Eloquent/Model.php (1580행)에서 확인할 수 있습니다.

이는 이번 라라캐스트 에피소드에서도 설명됩니다. https://laracasts.com/series/advanced-eloquent/episodes/3 (가입 필수)

저도 처음에 이걸 발견했을 때 당황스러웠고 찾을 수 없었습니다.get()정적인 방법으로하지만 그때 저는 점들을 연결하는 데 도움이 되었던 라라캐스트 에피소드를 떠올렸습니다.

get은 쿼리를 추가할 때 사용되며, all ()은 조건을 사용하지 않고 모든 데이터를 가져오는 데 사용됩니다.

모두의 예():

$query = Project::all();

get()의 예:

$query = Project::select('id', 'name')->where('name', '')->orderBy('id', 'desc')->get();

언급URL : https://stackoverflow.com/questions/34587457/difference-between-eloquent-modelget-and-all

반응형