私は、関連する画像とともに投稿を取得したいと思います。私のクエリが返す結果を次のようにlaravelクエリービルダーを使用して連想配列を返します。
クエリ
$result = DB::table('posts')
->join('users', 'users.id', '=', 'posts.user_id')
->join('post_images', 'post_images.post_id', '=', 'posts.id')
->select('users.name', 'posts.*', 'post_images.image')
->where([
'users.id' => 1,
'posts.id' => 38
])
->get();
dd($result);
出力
私はポストに関連付けられているすべての画像は、単一のコレクションの連想配列として移入したいです/結果。たとえば上記の2つの結果ではなくID 38の場合、次のようになります。
array:49 [▼
0 => {#205 ▼
+"name": "wahid"
+"id": 38
+"user_id": 1
+"categories_id": 1
+"body": "something !!"
+"color": "LightGreen"
+"mood": "Loved"
+"created_at": "2017-08-07 01:15:48"
+"updated_at": "2017-08-07 01:15:48"
+"images" => array:3 [
0 => 'image1.jpg'
1 => 'image2.jpg'
2 => 'image3.jpg'
]
}
ありがとうございました。
'を追加するようにしてください - > GROUPBY( 'posts.id') - > GET (); 'を参照してください – Maraboc
Eloquentモデルと関係を使用していますか? – iArcadia
複雑なクエリの場合、私はクエリビルダーを好む。ここで私はモデルを使用していません。 @iArcadia – WahidSherief