我正在使用groupby()对要在图形中显示的数据进行分组。它在我的localhost上工作,但是当我将代码推送到live站点时,它抛出的不是错误分组。
错误。
sqlstate[42000]:语法错误或访问冲突:1055“dds\u sa.appointments.date\u time”不在group by中
代码:
public function dailyReports(){
return DB::table('appointments')
->select(DB::raw("
sum(case when status = 'scheduled' then 1 else 0 end) as scheduled,
sum(case when status = 'complete' then 1 else 0 end) as complete,
sum(case when status = 'sold' then 1 else 0 end) as sold,
DATE_FORMAT(date_time,'%W %M %e %Y') as date"))
->groupBy('date')
->orderBy('date_time')
->get();
}
.环境
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=user_name
DB_PASSWORD=db_pass
db默认设置:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
有谁能给我指点解决办法吗?
1条答案
按热度按时间slmsl1lt1#
mysql有
ONLY_FULL_GROUP_BY
启用。您可以使用以下命令禁用它:要查看已启用模式的列表,请运行:
在配置中,还要更改: