2016-10-14 3 views
1

laravel을 처음 사용하고 laravel 5.3을 사용하고 있습니다. 18 개의 필드로 구성된 사용자 테이블이 있습니다. 이 줄을 실행할 때마다 : $article->load('comments.user', 'comments.replies.user');, 나는 18 개의 모든 필드를 얻고 있습니다. 3 개의 필드 (이름, 사용자 이름 및 ID) 만 검색 할 수 있습니까?laravel에서 열심히로드하는 동안 특정 필드 가져 오기

나는이 작동하지 않습니다, 구글하지만 내가 찾은 답에 검색 시간을 보냈습니다 :

$article->load(array('comments.user' => function($query) { 
    $query->select('id', 'name', 'username'); 
})); 
+2

$ query-> select ('id', 'name', 'username') -> get(); – john

+0

@john 감사합니다. 원하는대로 작동하고 있습니다. 대답을 게시 할 수 있습니까? – Prince

답변

0

$article->load('comments.user', 'comments.replies.user');가 원하는 필드를 지정 할 수있는 코드의 다음 줄에 변경 될 수 있습니다 라인

return $article->load(
    array(
     'comments.user' => function($query) { 
      $query->select('id', 'name', 'username')->get(); 
     }, 
     'comments.replies.user' => function($query) { 
      $query->select('id', 'name', 'username')->get(); 
     } 
    ) 
); 
관련 문제