Rumah >pembangunan bahagian belakang >tutorial php >Laravel WhereIn dan GroupBy: Bagaimana untuk Menyelesaikan Ralat 1055 MySQL?
Laravel: Ralat Sintaks atau Pelanggaran Akses: Ralat 1055 semasa Menggunakan WhereIn dan GroupBy
Untuk mendapatkan semula data baris tertentu, Laravel membenarkan kami untuk gunakan WhereIn dan GroupBy dalam pertanyaan yang sama. Walau bagaimanapun, ini kadangkala boleh mengakibatkan "Ralat sintaks atau pelanggaran akses: Ralat 1055".
Punca Ralat
Ralat ini berlaku apabila:
Penyelesaian
Lumpuhkan Mod Ketat
Anda boleh melumpuhkan mod ketat MySQL dengan menetapkan 'ketat' => false dalam tatasusunan 'mysql' bagi fail config/database.php.
'mysql' => [ ... 'strict' => false, ... ],
Tambah Mod pada Pilihan MySQL
Sebagai alternatif, anda boleh membiarkan mod ketat didayakan dan tambah mod tertentu pada pilihan 'mod' 'mysql' tatasusunan:
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
Sertakan Medan GroupBy dalam WhereIn
Pastikan medan id yang digunakan dalam keadaan WhereIn turut disertakan dalam senarai medan GroupBy. Ini akan menghalang ralat daripada berlaku.
$loadids = explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('loading') ->groupBy(['vehicle_no', 'id']) ->whereIn('id', $loadids) ->get();
Dengan melaksanakan penyelesaian ini, anda boleh menyelesaikan "Ralat sintaks atau pelanggaran akses: Ralat 1055" apabila menggunakan WhereIn dan GroupBy dalam pertanyaan yang sama.
Atas ialah kandungan terperinci Laravel WhereIn dan GroupBy: Bagaimana untuk Menyelesaikan Ralat 1055 MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!