preloader

Resolver Error de MySql: which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by, en Laravel 5.8

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' ] 

guest
0 Comentarios
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x