Heim > Backend-Entwicklung > PHP-Tutorial > Laravel WhereIn und GroupBy: Wie behebt man den 1055-Fehler von MySQL?

Laravel WhereIn und GroupBy: Wie behebt man den 1055-Fehler von MySQL?

Mary-Kate Olsen
Freigeben: 2024-12-07 16:24:13
Original
783 Leute haben es durchsucht

Laravel WhereIn and GroupBy: How to Resolve MySQL's 1055 Error?

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:

  • Der strenge Modus ist in den MySQL-Einstellungen aktiviert.
  • Das ID-Feld, das im WhereIn verwendet wird Bedingung, ist nicht in der GroupBy-Feldliste enthalten.

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,
    ...
],
Nach dem Login kopieren

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'],
    ...
],
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Quelle:php.cn
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