Heim > Backend-Entwicklung > PHP-Tutorial > Wie behebe ich SQL-Fehler aufgrund eines inkompatiblen SQL_MODE in Laravel Eloquent?

Wie behebe ich SQL-Fehler aufgrund eines inkompatiblen SQL_MODE in Laravel Eloquent?

Barbara Streisand
Freigeben: 2024-10-18 12:28:30
Original
273 Leute haben es durchsucht

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

Beheben von Fehlern, die durch inkompatiblen SQL_MODE in Laravel Eloquent verursacht werden

In Laravel Eloquent können beim Ausführen von Abfragen, die eine Gruppierung beinhalten, Fehler wie die folgenden auftreten:

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

Dieser Fehler tritt normalerweise auf, wenn eine in der Abfrage verwendete Spalte nicht in der GROUP BY-Klausel enthalten ist.

Lösung:

Um dieses Problem zu beheben, eine Der empfohlene Ansatz besteht darin, den strikten MySQL-Modus in den Datenbankverbindungseinstellungen zu deaktivieren. Dies kann erreicht werden, indem Sie die folgenden Zeilen zu Ihrer Datenbankkonfigurationsdatei hinzufügen (z. B. config/database.php):

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

        // MySQL 5.7 behavior
        'strict' => true
    ]
],</code>
Nach dem Login kopieren

Darüber hinaus können Sie andere Konfigurationseinstellungen im Blogbeitrag von Matt Stauffer durchsuchen, um die zu finden optimale Einstellungen für Ihre spezifische Datenbankumgebung. Durch Deaktivieren des strikten MySQL-Modus ermöglichen Sie die Verwendung nicht aggregierter Spalten in der GROUP BY-Klausel und beheben so den Fehler.

Das obige ist der detaillierte Inhalt vonWie behebe ich SQL-Fehler aufgrund eines inkompatiblen SQL_MODE in Laravel Eloquent?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage