在 laravel 5.3 中按查询分组

Group by query in in laravel 5.3

我已经触发了这个查询。

$articleList = \DB::table(config('backend.article_table'))
                ->leftjoin(config('access.users_table'), config('access.users_table') . '.id', '=', config('backend.article_table') . '.created_by')
                ->leftjoin(config('backend.article_specialization_table'), config('backend.article_specialization_table') . '.article_id', '=', config('backend.article_table') . '.id')
                ->leftjoin(config('backend.specialization_table'), config('backend.specialization_table') . '.id', '=', config('backend.article_specialization_table') . '.specialization_id')
                ->select(config('backend.article_table') . '.*', config('access.users_table') . '.name', config('access.users_table') . '.avatar', \DB::raw('group_concat(' . config('backend.specialization_table') . '.name) specialization'))
                ->whereRaw($appendWhr)
                ->whereRaw($appendPermission)
                ->groupBy(config('backend.article_table') . '.id')
                ->offset($offset)
                ->limit($pageLimit)
                ->orderBy(config('backend.article_table') . '.id', 'desc')
                ->get();

但我收到以下错误:

PDOException in Connection.php line 332: SQLSTATE[42000]: Syntax error or access violation 1055 'baseproject_new.articles.user_id' isn't in GROUP BY

当 运行 mysql 中的查询时我得到了结果但是当我 运行 页面时我得到了错误,当我在 laravel 中使用相同的查询时它会给我结果但是在laravel 5.3这里我得到了这个错误,请帮助我解决这个问题,谢谢。

你只需要在config/database

中将"strict"的值改为"false"