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.
Ursachen des Fehlers
Dieser Fehler tritt auf, wenn:
Lösungen
Strikten Modus deaktivieren
Sie können den strikten Modus von MySQL deaktivieren Setzen Sie „strict“ => false im „mysql“-Array der config/database.php Datei.
'mysql' => [ ... 'strict' => false, ... ],
Modi zu MySQL-Optionen hinzufügen
Alternativ können Sie den strikten Modus aktiviert lassen und bestimmte Modi zur Option „modes“ des Arrays „mysql“ hinzufügen:
'mysql' => [ ... 'strict' => true, 'modes' => ['STRICT_TRANS_TABLES'], ... ],
Das GroupBy-Feld in WhereIn einbinden
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.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3