2017-11-07 6 views
0

あなたが持っているのであれば:Laravelのクエリでwith()を使用すると、どのように特定の列を選択しますか?

Book::with('author:id,name')->get() 

を、私はそれが関連して、特定の列を定義することが可能です知っています。 メインテーブルの他のフィールドとselect関数のauthor関係にどのようにアクセスできますか?

Book::select('title','author.name')->with('author')->get(); 
+1

予約:: ::( 'author:id、name') - > get - どこから取得しましたか? –

+0

Laravel docs:https://laravel.com/docs/5.5/eloquent-relationships – Jenski

答えて

0

あなたは関係のためにフェッチする列を指定したい場合は、関連するテーブルからデータをフェッチされるクエリビルダ上)(選択メソッドを実行する必要があります。次のコードはそれを行います:

Book::with('author' => function($builder) { 
    $builder->select('name'); 
})->select('someFieldFromBookModel', 'author_id')-get(); 
+0

ええ、でも、同時にブックテーブルから1列を選択するにはどうすればよいですか? – Jenski

+0

私はちょうど答えを更新しました。外部キーも取得する必要があります。そうしないと、Eloquentは著者と書籍を照合することができません。 –

+0

Selectステートメントが機能しません:( – Jenski

関連する問題