Laravelアプリケーションではmysql の sql_mode はどうなっているのでしょうか?
$sql_mode = DB::select( 'SHOW VARIABLES LIKE "%sql_mode%"' );
dump($sql_mode);
戻り値()
ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
app/config/database.php
'mysql' => [
'driver' => 'mysql',
.........
// これをコメントアウトOFF 'strict' => true,
],
この状態で sql_mode を調べると
$sql_mode = DB::select( 'SHOW VARIABLES LIKE "%sql_mode%"' );
dump($sql_mode);
戻り値()
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
となります。
sql_mode を追加するには modes に記述してあげます。
app/config/database.php を以下のように変更します
// 'strict' => true, // OFF
'modes' => [
//'ONLY_FULL_GROUP_BY', // OFF
'STRICT_TRANS_TABLES',
'NO_ZERO_IN_DATE',
'NO_ZERO_DATE',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_AUTO_CREATE_USER',
'NO_ENGINE_SUBSTITUTION'
],