Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat SQL Kerana SQL_MODE Tidak Serasi dalam Laravel Eloquent?

Bagaimana untuk Membetulkan Ralat SQL Kerana SQL_MODE Tidak Serasi dalam Laravel Eloquent?

Barbara Streisand
Barbara Streisandasal
2024-10-18 12:28:30190semak imbas

How to Fix SQL Errors Due to Incompatible SQL_MODE in Laravel Eloquent?

Menyelesaikan Ralat Yang Disebabkan oleh SQL_MODE Tidak Serasi dalam Laravel Eloquent

Dalam Laravel Eloquent, apabila melaksanakan pertanyaan yang melibatkan pengumpulan, anda mungkin menghadapi ralat yang serupa dengan:

SQLSTATE[42000]: Expression #1 of SELECT list is not in GROUP BY clause ... incompatible with sql_mode=only_full_group_by

Ralat ini biasanya timbul apabila lajur yang digunakan dalam pertanyaan tidak disertakan dalam klausa GROUP BY.

Penyelesaian:

Untuk menyelesaikan isu ini, satu pendekatan yang disyorkan adalah untuk melumpuhkan mod ketat MySQL dalam tetapan sambungan pangkalan data. Ini boleh dicapai dengan menambahkan baris berikut pada fail konfigurasi pangkalan data anda (cth., config/database.php):

<code class="php">'connections' => [
    'mysql' => [
        // MySQL 5.6 behavior
        'strict' => false,

        // MySQL 5.7 behavior
        'strict' => true
    ]
],</code>

Selain itu, anda boleh meneroka tetapan konfigurasi lain yang disediakan dalam catatan blog Matt Stauffer untuk mencari tetapan optimum untuk persekitaran pangkalan data khusus anda. Dengan melumpuhkan mod ketat MySQL, anda membenarkan lajur tidak teragregat digunakan dalam klausa GROUP BY, menyelesaikan ralat.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat SQL Kerana SQL_MODE Tidak Serasi dalam Laravel Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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