
Group by no funciona en Laravel. Al ejecutar una consulta SQL en Laravel suele presentarse este error y literalmente la consulta no funciona. Asimismo, este error suele pre4sentarse ya sea con eloquent o con query builder.
Cómo solucionar problemas con Group by en Laravel
La solución es muy sencilla y solo debemos de editar el archivo de configuración de la base de datos de sus aplicaciones en la siguiente ruta: config/database.php
En la matriz MySQL, configure strict => false
para deshabilitar el modo estricto de MySQL
Editar el fichero en la ruta config/database.php
de Laravel
'mysql' => [
'driver' => 'mysql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
En el Item STRICT
debemos de cambiar a falso para que la clausula GROUP BY funcione sin problemas y eso es todo.
En resumen
Laravel por ser un framework de PHP viene con algunas restricciones de seguridad que nosotros podemos configurar, en este caso la base de datos MySQL. Sin embargo, si estamos usando otros gestores de base de datos como ser:
- mariadb
- sqlite
- pgsql
- sqlsrv