En MySQL 5.7 se introdujo el modo estricto, que en realidad es una combinación de nuevos modos para cada uno de los cuales habilita o deshabilita un comportamiento determinado.
El modo estricto se compone de las siguientes opciones:
- 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
Para resolver el error de MySql, se debe ir al archivo de configuración de la conexión a la base de datos. El cual se encuentra en la siguiente ruta:
laravel\config\database.php
Una vez abierto el archivo, ubicar la clave "connections" y después "mysql"
Puedes deshabilitar el modo estricto, modificando el valor de "strict" a false:
'strict' => false,
También puedes personalizar los modos que desees habilitar, solo debes agregar una nueva clave con el nombre de "modes" => [], y agregar los modos que necesitas, en este caso para resolver el error de MySql el valor de "modes" queda de la siguiente forma:
'modes' => [ 'STRICT_TRANS_TABLES', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ]