Diese Einschränkung ist sinnvoll, da bei Verwendung GROUP BY
in MySQL für jeden Wert in den in verwendeten Spalten eine Zeile zurückgegeben wird GROUP BY
. Daher ist es nicht sinnvoll, die Werte anderer Spalten in den ausgewählten Zeilen irgendwo zu verwenden. Es wird daher immer empfohlen, die Best Practice zu verwenden, und ich würde empfehlen, den MySQL Strict-Modus nicht zu deaktivieren.
Oft benötigen Entwickler Zeilen einer Abfrage, die nach dem Wert einer Spalte gruppiert sind. Hier benötigen sie nicht nur eine Zeile pro den eindeutigen Werten der Spalten. Sie benötigen jedoch mehrere Zeilen, die nach den eindeutigen Werten einer bestimmten Spalte gruppiert sind. Aus irgendeinem Grund verwenden sie die groupBy
Query Builder-Methode von Laravel, die ein MySQL generiertGROUP BY
Abfrage und die Entwickler stoßen auf den obigen Fehler.
Die Lösung für ihr Problem besteht darin groupBy
, stattdessen die Erfassungsmethode zu verwenden. Zum Beispiel,
$loadingData = DB::table('loading')
->whereIn('id', $loadIds)
->get()
->groupBy('vehicle_no');
Dies gibt ihnen das gewünschte Ergebnis.