Heim >Backend-Entwicklung >PHP-Tutorial >Laravel WhereIn und GroupBy: Wie behebt man den 1055-Fehler von MySQL?
Laravel: Syntaxfehler oder Zugriffsverletzung: 1055 Fehler bei Verwendung von WhereIn und GroupBy
Für den Abruf bestimmter Zeilendaten ermöglicht uns Laravel dies Verwenden Sie sowohl WhereIn als auch GroupBy in derselben Abfrage. Dies kann jedoch manchmal zu einem „Syntaxfehler oder Zugriffsverletzung: 1055-Fehler“ führen.
Fehlerursachen
Dieser Fehler tritt auf, wenn:
Lösungen
Strikten Modus deaktivieren
Sie können Deaktivieren Sie den strikten Modus von MySQL, indem Sie „strict“ => festlegen. false im Array „mysql“ der Datei config/database.php.
'mysql' => [ ... 'strict' => false, ... ],
Modi zu MySQL-Optionen hinzufügen
Alternativ können Sie den strikten Modus aktiviert lassen und fügen Sie bestimmte Modi zur Option „modes“ von „mysql“ hinzu. Array:
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
Das GroupBy-Feld in WhereIn einbeziehen
Stellen Sie sicher, dass das in der WhereIn-Bedingung verwendete ID-Feld auch in der GroupBy-Feldliste enthalten ist. Dadurch wird verhindert, dass der Fehler auftritt.
$loadids = explode("#@*", $reciptdet->loading_id); $loadingdatas = DB::table('loading') ->groupBy(['vehicle_no', 'id']) ->whereIn('id', $loadids) ->get();
Durch die Implementierung dieser Lösungen können Sie den „Syntaxfehler oder Zugriffsverletzung: 1055-Fehler“ beheben, wenn Sie WhereIn und GroupBy in derselben Abfrage verwenden.
Das obige ist der detaillierte Inhalt vonLaravel WhereIn und GroupBy: Wie behebt man den 1055-Fehler von MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!