Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel 5.4 Raw non funziona come previsto ma funziona in MySQL

Laravel 5.3 e 5.4 usano la modalità rigorosa per mysql per impostazione predefinita. Ciò significa che ONLY_FULL_GROUP_BY È abilitata anche la modalità SQL. Ma se la tua versione di MySQL è almeno 5.7.5 puoi raggruppare per chiave primaria di una tabella e utilizzare tutte le colonne di quella tabella nella clausola SELECT perché dipendono funzionalmente dal PK.

(Gestione MySQL di GROUP BY )

Le tue opzioni sono:

Aggiorna MySQL ad almeno 5.7.5

Oppure disabilita la modalità rigorosa in laravels db config (config/database.php )

// ..
'connections' => [
    // ..
    'mysql' => [
        // ..
        'strict' => false,
        // ..
    ],
    // ..
]

Aggiorna

Cattive notizie per l'utente MariaDB (e xampp):MariaDB sembra non supportare il "rilevamento della dipendenza funzionale" (ancora). Tutto quello che ho trovato è questo biglietto .