gpt4 book ai didi

php - Laravel:查询仅获取一个相关的 id

转载 作者:行者123 更新时间:2023-11-29 20:15:19 25 4
gpt4 key购买 nike

我试图获取与特定列表相关的所有 ID,但我的查询仅返回表中的第一个相关 ID,而不返回其他 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
}
]

我想产生如下结果

#items: array:1 [
0 => {
"id" : 1
"name" : "Test List"
"data_id" => {
"id" : 100
"id" : 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)
->get();

$lists->groupBy('List.id')->orderBy('List.id');

使用laravel集合的groupBy和orderBy方法来获取分组的项目。希望对您有帮助!

关于php - Laravel:查询仅获取一个相关的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39825681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com