Mysql
 sql >> Base de données >  >> RDS >> Mysql

Laravel 5.4 Raw ne fonctionne pas comme prévu mais fonctionne dans mySQL

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.

(Gestion MySQL de GROUP BY )

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 .