Laravel groupBy与PostgreSQL无法正常工作

时间:2017-10-24 11:24:55

标签: php sql postgresql laravel

如果没有groupBy,我的行数也相同。

$authors = AuthorMask::where('company_id', $user->company_id)
        ->groupBy('id', 'author_id')
        ->orderBy('created_at', 'desc')
        ->paginate(5);

如果我使用它:

$authors = AuthorMask::where('company_id', $user->company_id)
        ->groupBy('author_id')
        ->orderBy('created_at', 'desc')
        ->paginate(5);

我收到错误。

  

SQLSTATE [42803]:分组错误:7错误:列“author_masks.id”   必须出现在GROUP BY子句中或用于聚合函数   第1行:从“author_masks”中选择*,其中“company_id”= $ 1组   b ... ^(SQL:select * from“author_masks”,其中“company_id”= 1组   通过“author_id”命令“created_at”desc limit 5 offset 0)

1 个答案:

答案 0 :(得分:3)

不幸的是,使用PostgreSQL运行第二个查询是不可能的,因为它要求 SELECT 列表中指定的所有字段都是 的一部分GROUP BY 表达。

您可以查看here