在 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"
我已经触发了这个查询。
$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
你只需要在config/database
中将"strict"的值改为"false"