2016-10-14 4 views
1

私はlaravelを初めて使用しています。私はlaravel 5.3を使用しています。 私は18のフィールドで構成されるユーザーテーブルを持っています。私はこの行を実行するたびに:$article->load('comments.user', 'comments.replies.user');、私はすべての18のフィールドを取得しています。 3つのフィールド(名前、ユーザー名、ID)のみを取得する可能性はありますか?laravelで熱心な読み込み中に特定のフィールドを取得する

私はGoogleで検索いくつかの時間を費やしてきたが、私が見つけた答えは、動作しません:

$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(); 
     } 
    ) 
); 
関連する問題