laravel 5.6 chunk和groupby

v09wglhw  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(440)

我得到的错误,而执行下面,而没有groupby它是正常工作。

User::select('col')->groupBy('col1')->chunk(100, function ($users) {
        foreach ($users as $user) {
            dump($user);
        }
    });

错误:

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column
tjrkku2a

tjrkku2a1#

你可以这样做需要使用orderby

User::select('col')
    ->orderBy('col1')
    ->groupBy('col1')
    ->chunk(100, function ($users) {
        foreach ($users as $user) {
            // code ..
        }
    });
zxlwwiss

zxlwwiss2#

下面这句话对我起了作用。
config/database.php 文件更新如下。
之前

'mysql' => [
    ...
    'strict'         => true,
    ...
],

之后

'mysql' => [
    ...
    'strict'         => false,
    ...
],

注:已经两年了,没有人回答我的问题,所以我更新了。如果我得票,我会把它标为答案。

相关问题