2017-06-20 65 views
0

这是我的查询,它适用于所有旧版本。Laravel groupBy not working,version 5.4.24

$data = DB::table('applicant') 
      ->groupBy('AppAffID') 
      ->get(); 

的错误,我得到的是:

SQLSTATE[42000]: Syntax error or access violation: 1055 'comloant_loantreeAPI.applicant.AppID' isn't in GROUP BY (SQL: select * from `applicant` group by `AppAffID`) 

我已经试过了数据库的变化:

我说 '严'=>假,数据库配置。

'mysql' => [ 
      'driver' => 'mysql', 
      'host' => env('DB_HOST', 'localhost'), 
      'port' => env('DB_PORT', '3306'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
      'strict' => false, 
      'engine' => null, 
     ], 
+0

你能告诉数据库配置文件? – Teun

+0

@Teun,我加了 – ALCHI

+0

你确定你使用的是mysql吗?更改配置后,你清除了配置缓存? 'php artisan config:clear' – Teun

回答

0

你想用groupBy实现什么?如果要排序的AppAffID你应该使用orderBy像这样做,而不是:

$data = DB::table('applicant') 
     ->orderBy('AppAffID', 'desc') //can also use 'asc' for ascending 
     ->get(); 
+0

如果我使用sortBy我得到一个错误:BadMethodCallException调用未定义的方法Illuminate \ Database \ Query \ Builder :: sortBy() – ALCHI

+0

已更新的答案,我的意思是'orderBy' – Teun