特定のリストに関連するすべてのIDを取得しようとしていますが、クエリではテーブル内の最初の関連IDのみが返されます。Laravel:クエリは1つの関連IDをフェッチしています
テーブル
List | id | person_id | name | description
| 1 | 10 | Test List | null
List_Ref | id | list_id | data_id
| 1 | 1 | 100
| 2 | 1 | 101
クエリ
$lists = DB::table('List')
->leftJoin('List_Ref', 'List_Ref.list.id', '=', 'List.id')
->select('List.id', 'List.name', 'List_Ref.data_id')
->where('person_id', Auth::user()->person_id)
->groupBy('List.id')
->orderBy('List.id')
->get();
結果(Laravelが死ぬとダンプ)
#items: array:1 [
0 => {
"id" : 1
"name" : "Test List"
"data_id" " 100
}
]
I WOU次のような結果を出すのが好きです
#items: array:1 [
0 => {
"id" : 1
"name" : "Test List"
"data_id" => {
"id" : 100
"id" : 101
}
}
]
get() - > all() –
を置き換えようとしていますか?グループを削除すると、必要なすべての結果が得られます。 –
@MubasharAbbasすべての 'data_id'が1つのリストにグループ化されている必要があります –