this is my SQL query:
SELECT pendaftaran.id_pendaftaran,
pendaftaran.nama,
pendaftaran.nim,
pilihan_daftar.id_pilihan,
pilihan_daftar.alasan_pil,
Group_concat(dinas_biro.nama_dinasbiro) AS nama_dinas
FROM pendaftaran
JOIN pilihan_daftar
ON pendaftaran.id_pendaftaran = pilihan_daftar.id_pendaftaran
JOIN dinas_biro
ON dinas_biro.id_dinasbiro = pilihan_daftar.id_pilihan
GROUP BY pendaftaran.id_pendaftaran;
then, i convert into laravel query:
Pendaftaran::join('pilihan_daftar','pendaftaran.id_pendaftaran','=','pilihan_daftar.id_pendaftaran')
->join('dinas_biro','dinas_biro.id_dinasbiro','=','pilihan_daftar.id_pilihan')
->select(
'pendaftaran.id_pendaftaran',
'pendaftaran.nama',
'pendaftaran.nim',
'pilihan_daftar.id_pilihan',
'pilihan_daftar.alasan_pil',
DB::raw('GROUP_CONCAT(dinas_biro.nama_dinasbiro) as nama_dinas')
)
->groupBy('pendaftaran.id_pendaftaran')
->get();
But error:
SQLSTATE[42000]: Syntax error or access violation: 1055 'keanggotaan_bem.pendaftaran.nama' isn't in GROUP BY (SQL: select
pendaftaran
.id_pendaftaran
,pendaftaran
.nama
,pendaftaran
.nim
,pilihan_daftar
.id_pilihan
,pilihan_daftar
.alasan_pil
, GROUP_CONCAT(dinas_biro.nama_dinasbiro) as nama_dinas frompendaftaran
inner joinpilihan_daftar
onpendaftaran
.id_pendaftaran
=pilihan_daftar
.id_pendaftaran
inner joindinas_biro
ondinas_biro
.id_dinasbiro
=pilihan_daftar
.id_pilihan
group bypendaftaran
.id_pendaftaran
)
Can someone help me :(