如果没有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)
答案 0 :(得分:3)
不幸的是,使用PostgreSQL运行第二个查询是不可能的,因为它要求 SELECT 列表中指定的所有字段都是 的一部分GROUP BY 表达。
您可以查看here