Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

bcoder72's avatar

select in relation with with group by query

guys how to select in relation with group by id. i have query like this

$chart = Pesanan::with(['kendaraan' => function($query){$query->select('id','jenis')->groupBy('id');}])->where('petugas_approve', 'approved')->Where('akomodasi_approve','approved')->get();

and i use return $chart; and the result showing many data with same id. i want the data showing only with diferent id

[{"id":2,"driver_id":3,"pemesan_id":1,"kendaraan_id":2,"tanggal":"2023-03-22","pembuat":"admin","petugas_approve":"approved","akomodasi_approve":"approved","created_at":"2023-03-22T07:23:24.000000Z","updated_at":"2023-03-22T09:09:09.000000Z","kendaraan":{"id":2,"jenis":"Motor"}},{"id":3,"driver_id":3,"pemesan_id":3,"kendaraan_id":1,"tanggal":"2023-03-22","pembuat":"admin","petugas_approve":"approved","akomodasi_approve":"approved","created_at":"2023-03-22T13:22:45.000000Z","updated_at":"2023-03-22T13:22:45.000000Z","kendaraan":{"id":1,"jenis":"Truk"}},{"id":5,"driver_id":2,"pemesan_id":5,"kendaraan_id":1,"tanggal":"2023-03-22","pembuat":"admin","petugas_approve":"approved","akomodasi_approve":"approved","created_at":"2023-03-22T13:23:04.000000Z","updated_at":"2023-03-22T13:23:04.000000Z","kendaraan":{"id":1,"jenis":"Truk"}}]
0 likes
3 replies
tykus's avatar

What is the purpose of the grouping? If it is to constrain the Pesanan instances returned, then use the kendaraan_id on the main Eloquent query instead.

tykus's avatar

@bcoder72 not so fast... you are using group by to get distinct record(s); but which distinct Pesanan record should be retrieved for a given kendaraan_id?

Please or to participate in this conversation.