php - 选择 DISTINCT 返回重复数据 Laravel 8
问题描述
我正在尝试为他显示属于主管的组。我正在使用连接来获取每个gpid
信息库supervisor_id
,查询它还可以,但返回最后一行的重复数据。我不知道为什么它会复制最后一条记录。任何帮助将非常感激。
$res = DB::table('tickets')
->join('gp_groups', 'tickets.id', '=', 'gp_groups.gpid')
->where('gp_groups.supervisor_id', 15)
->distinct('gp_groups.gpid')
->get();
dd($res);
结果
0 => {#1390 ▼
+"id": 84
+"gpname": "G2"
+"detail": "Mahdi"
+"gender": "Male"
+"semester": 432
+"status": "Not assigned"
+"Assigned": null
+"user_id": 19
+"track_id": 4
+"created_at": null
+"updated_at": null
+"gpid": 71
+"student_id": 13
+"supervisor_id": 15
}
1 => {#1396 ▼
+"id": 83
+"gpname": "hifjksd"
+"detail": "hfdjkjs"
+"gender": "Female"
+"semester": 431
+"status": "Not assigned"
+"Assigned": null
+"user_id": 1
+"track_id": 2
+"created_at": null
+"updated_at": null
+"gpid": 73
+"student_id": 13
+"supervisor_id": 15
}
2 => {#1353 ▼
+"id": 109
+"gpname": "4512"
+"detail": "8956"
+"gender": "Male"
+"semester": 431
+"status": "Not assigned"
+"Assigned": null
+"user_id": 1
+"track_id": 3
+"created_at": null
+"updated_at": null
+"gpid": 83
+"student_id": 12
+"supervisor_id": 15
}
3 => {#1331 ▼
+"id": 110
+"gpname": "4512"
+"detail": "8956"
+"gender": "Male"
+"semester": 431
+"status": "Not assigned"
+"Assigned": null
+"user_id": 1
+"track_id": 3
+"created_at": null
+"updated_at": null
+"gpid": 83
+"student_id": 13
+"supervisor_id": 15
}]}
解决方案
您可以尝试使用groupBy
而不是distinct
:
$res = DB::table('tickets')
->join('gp_groups', 'tickets.id', '=', 'gp_groups.gpid')
->where('gp_groups.supervisor_id', 15)
->groupBy('gp_groups.gpid')
->get();
dd($res);
推荐阅读
- linux - 为什么“.shstrtab”部分是强制性的?
- itfoxtec-identity-saml2 - ITfoxtec.Identity.Saml2 - 多种身份验证模式
- python - 如何在 Django 中保存 MultipleChoiceField
- python - Python类继承问题
- php - 将 /us/ 永久链接添加到 WordPress 中的每个 parmalink
- python - 在 Pycharm 和其他 IDE 中的 RPI 上导入 Spacy 会出错
- swiftui - 有没有更好的方法来使用组合分配数据
- cordova - Ionic 使用 neo4j 驱动程序签名 apk
- node.js - MongoDB/Mongoose:在填充字段中排序
- r - 删除嵌套列表中的数据框并在 R 中的同一嵌套列表中添加另一个数据框