sql >> Databasteknik >  >> RDS >> Mysql

Laravel 5.4 Raw fungerar inte som förväntat men fungerar i mySQL

Laravel 5.3 och 5.4 använder strikt läge för mysql som standard. Det betyder att ONLY_FULL_GROUP_BY SQL-läge är också aktiverat. Men om din MySQL-version är minst 5.7.5 kan du gruppera efter en primärnyckel i en tabell och använda alla kolumner från den tabellen i SELECT-satsen eftersom de är funktionellt beroende av PK.

(MySQL-hantering av GROUP BY )

Dina alternativ är:

Uppgradera MySQL till minst 5.7.5

Eller inaktivera strikt läge i laravels db config (config/database.php )

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

Uppdatera

Dåliga nyheter för MariaDB (och xampp) användare:MariaDB verkar inte stödja "detektering av funktionellt beroende" (ännu). Allt jag kunde hitta är den här biljetten .




  1. Visa aktuell användares data och dess namn i den valda taggen

  2. MyISAM kontra InnoDB

  3. Rails 3.2 + MySQL:Fel:Fältet 'created_at' har inte ett standardvärde:INSERT INTO

  4. Omskrivning av URL med .htaccess gör dubbletter av mysql-poster