[英]Select DISTINCT returns duplicates data Laravel 8
我正在嘗試為他顯示屬於主管的組。 我使用 join 來獲取基於supervisor_id
每個gpid
信息,查詢它的好但返回最后一行的重復數據。 我不明白為什么它會復制最后一條記錄。 任何幫助將非常感激。
$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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.