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

Laravel 5.4 Raw fungerer ikke som forventet, men fungerer i mySQL

Laravel 5.3 og 5.4 bruger strict mode for mysql som standard. Det betyder, at ONLY_FULL_GROUP_BY SQL-tilstand er også aktiveret. Men hvis din MySQL-version er mindst 5.7.5, kan du gruppere efter en primær nøgle i en tabel og bruge alle kolonner fra den tabel i SELECT-sætningen, fordi de er funktionelt afhængige af PK'en.

(MySQL-håndtering af GROUP BY )

Dine muligheder er:

Opgrader MySQL til mindst 5.7.5

Eller deaktiver streng tilstand i laravels db config (config/database.php )

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

Opdater

Dårlige nyheder for MariaDB (og xampp) bruger:MariaDB ser ikke ud til at understøtte "detektion af funktionel afhængighed" (endnu). Alt jeg kunne finde er denne billet .




  1. Indsætter kun en række, hvis den ikke allerede er der

  2. Sådan analyseres tid fra databasen

  3. LIKE og NULL i WHERE-sætning i SQL

  4. Sådan automatiseres Galera Cluster ved hjælp af ClusterControl CLI