Heim >Backend-Entwicklung >PHP-Tutorial >Laravel WhereIn und GroupBy: Wie behebt man „Syntaxfehler oder Zugriffsverletzung: 1055'?

Laravel WhereIn und GroupBy: Wie behebt man „Syntaxfehler oder Zugriffsverletzung: 1055'?

DDD
DDDOriginal
2024-12-20 11:00:11293Durchsuche

Laravel WhereIn and GroupBy: How to Fix

Laravel: Behebung von „Syntaxfehler oder Zugriffsverletzung: 1055-Fehler“ bei Verwendung von WhereIn und GroupBy

In Laravel tritt ein häufiges Problem auf, wenn versucht wird, WhereIn und zu kombinieren GroupBy-Methoden in einer einzigen Abfrage, was zu dem gefürchteten „Syntaxfehler oder Zugriffsverletzung: 1055“ führt. Fehler.

Um diesen Fehler zu beheben, ziehen Sie die folgenden Optionen in Betracht:

Strikten Modus deaktivieren

Suchen Sie in der Datei config/database.php das MySQL-Verbindungskonfigurationsarray. Fügen Sie die folgende Zeile hinzu:

'mysql' => [
    ...
    'strict' => false,
    ...
]

Indem Sie „strict“ auf „false“ setzen, werden alle strikten Optionen deaktiviert, sodass die Abfrage ausgeführt werden kann, ohne dass der Fehler auftritt.

Bestimmte strikte Modi aktivieren

Alternativ können Sie bestimmte strikte Modi selektiv aktivieren, während der allgemeine strikte Modus aktiviert bleibt. Fügen Sie die folgenden Zeilen hinzu:

'mysql' => [
    ...
    'strict' => true,
    'modes' => [
        // 'ONLY_FULL_GROUP_BY', // Disable this to allow grouping by one column
        'STRICT_TRANS_TABLES',
        'NO_ZERO_IN_DATE',
        'NO_ZERO_DATE',
        'ERROR_FOR_DIVISION_BY_ZERO',
        'NO_AUTO_CREATE_USER',
        'NO_ENGINE_SUBSTITUTION'
    ],
    ...
]

In diesem Fall ist der Modus ONLY_FULL_GROUP_BY deaktiviert, sodass die Gruppierung nach einer einzelnen Spalte möglich ist, während die anderen strengen Modi aktiv bleiben.

Durch die Implementierung dieser Lösungen können Sie kann den Fehler „Syntaxfehler oder Zugriffsverletzung: 1055“ beheben und Ihre Abfrage erfolgreich ausführen, indem Sie WhereIn und GroupBy kombinieren.

Das obige ist der detaillierte Inhalt vonLaravel WhereIn und GroupBy: Wie behebt man „Syntaxfehler oder Zugriffsverletzung: 1055'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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