Laravel 5.3 und 5.4 verwenden standardmäßig den strikten Modus für mysql. Das bedeutet, dass ONLY_FULL_GROUP_BY
Der SQL-Modus ist ebenfalls aktiviert. Aber wenn Ihre MySQL-Version mindestens 5.7.5 ist, können Sie nach einem Primärschlüssel einer Tabelle gruppieren und alle Spalten aus dieser Tabelle in der SELECT-Klausel verwenden, da sie funktional vom PK abhängig sind.
(MySQL-Behandlung von GROUP BY )
Ihre Optionen sind:
Aktualisieren Sie MySQL auf mindestens 5.7.5
Oder deaktivieren Sie den strikten Modus in der Laravels-DB-Konfiguration (config/database.php
)
// ..
'connections' => [
// ..
'mysql' => [
// ..
'strict' => false,
// ..
],
// ..
]
Aktualisieren
Schlechte Nachrichten für Benutzer von MariaDB (und xampp):MariaDB scheint die "Erkennung funktionaler Abhängigkeiten" (noch) nicht zu unterstützen. Alles, was ich finden konnte, ist dieses Ticket .