Laravel 5.3 et 5.4 utilisent le mode strict pour mysql par défaut. Cela signifie que ONLY_FULL_GROUP_BY
Le mode SQL est également activé. Mais si votre version de MySQL est au moins 5.7.5, vous pouvez grouper par une clé primaire d'une table et utiliser toutes les colonnes de cette table dans la clause SELECT car elles dépendent fonctionnellement de la PK.
Vos options sont :
Mettre à niveau MySQL vers la version 5.7.5 au moins
Ou désactivez le mode strict dans laravels db config (config/database.php
)
// ..
'connections' => [
// ..
'mysql' => [
// ..
'strict' => false,
// ..
],
// ..
]
Mettre à jour
Mauvaise nouvelle pour l'utilisateur de MariaDB (et xampp) :MariaDB ne semble pas (encore) prendre en charge la "détection de dépendance fonctionnelle". Tout ce que j'ai pu trouver, c'est ce ticket .