Laravel의 웅변 모델에 대해 알아 차 렸던 점은 관계에 대해 별도의 쿼리를 실행하는 것입니다. Department, Client, Store 및 Manager의 4 가지 관계가있는 Employee 모델이 있다고 가정 해보십시오. 이제Laravel - 데이터베이스 쿼리 컨벤션/표준 사례
, 당신은 테이블의보기에 모든 직원의 목록을 표시한다고 가정 해 보겠습니다
@foreach($employees as $employee)
<tr>
<td> {{$employee->department->name}} </td>
<td> {{$employee->client->name}} </td>
<td> {{$employee->store->name}} </td>
<td> {{$employee->manager->name}} </td>
</tr>
@endforeach
때마다 $ employees-> relationship->라고 무엇이든, 데이터베이스에 대한 호출을 수행 . 왜? 직원이 100 명이라면 400 개의 쿼리를 실행해야합니다.
내 질문에 :이 작업을 수행하는 좋은 방법은 무엇입니까? 쿼리 빌더를 사용하고 Eloquent를 사용하는 대신 조인을 수행 하시겠습니까? 대신 CakePHP를 사용 하시겠습니까? 하하.
[열심히로드하기] (http://laravel.com/docs/eloquent#eager-loading) –
당신이 열심히로드하는 경우 여기에서 잘못 계산 했으므로 관계가 4 인 직원은 상관없이 5 개의 쿼리가됩니다. 얼마나 많은 직원 기록이 반환되었는지; 그리고 반드시 합병만큼 효율적은 아니지만 코드는 훨씬 깨끗합니다. –
글쎄, 그것은 예상보다 쉽습니다. 고마워 많은 친구들. – mrowland