sql >> Databáze >  >> RDS >> Mysql

Laravel 5.4 Raw nefunguje podle očekávání, ale funguje v mySQL

Laravel 5.3 a 5.4 standardně používají přísný režim pro mysql. To znamená, že ONLY_FULL_GROUP_BY Je také povolen režim SQL. Pokud je však vaše verze MySQL alespoň 5.7.5, můžete seskupit podle primárního klíče tabulky a použít všechny sloupce z této tabulky v klauzuli SELECT, protože jsou funkčně závislé na PK.

(MySQL Handling of GROUP BY )

Vaše možnosti jsou:

Upgradujte MySQL alespoň na 5.7.5

Nebo vypněte přísný režim v konfiguraci laravels db (config/database.php )

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

Aktualizovat

Špatná zpráva pro uživatele MariaDB (a xampp):Zdá se, že MariaDB nepodporuje „detekci funkční závislosti“ (zatím). Jediné, co jsem našel, byla tato vstupenka .




  1. jak spravovat připojení k dynamicky vytvářeným databázím

  2. Aktualizace hodnoty AUTO_INCREMENT všech tabulek v databázi MySQL

  3. MySQL se nevypne:Zastavit server:CHYBA! Soubor PID serveru MySQL nebyl nalezen!

  4. Rails multitenant architektura, rozsah přístupu pro více tenantů