Rumah > pembangunan bahagian belakang > tutorial php > Laravel WhereIn dan GroupBy: Bagaimana untuk Menyelesaikan Ralat 1055 MySQL?

Laravel WhereIn dan GroupBy: Bagaimana untuk Menyelesaikan Ralat 1055 MySQL?

Mary-Kate Olsen
Lepaskan: 2024-12-07 16:24:13
asal
783 orang telah melayarinya

Laravel WhereIn and GroupBy: How to Resolve MySQL's 1055 Error?

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:

  • Mod ketat didayakan dalam tetapan MySQL.
  • Medan id, yang digunakan dalam keadaan WhereIn, tidak termasuk dalam senarai medan GroupBy.

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,
    ...
],
Salin selepas log masuk

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'],
    ...
],
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan