Heim >Backend-Entwicklung >PHP-Tutorial >Laravel WhereIn und GroupBy: Wie behebt man „Syntaxfehler oder Zugriffsverletzung: 1055'?
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:
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.
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!