【发布时间】:2018-11-14 23:02:04
【问题描述】:
这是我的 Eloquent 查询:
$visits = Visit::orderBy('date', 'desc')->groupBy('user_id')->get(['date', 'user_id']);
但是 posgreSQL 拒绝查询,告诉我:
SQLSTATE[42803]:分组错误:7 错误:列“visits.date”必须出现在 GROUP BY 子句中或用于聚合函数 LINE 1: select "date", "user_id" from "visits" group by...
当我禁用 ONLY_FULLY_GROUP_BY 时,相同的东西在 MySQL 上工作
我该怎么做才能让它发挥作用?如果我不必编辑配置,只需编辑代码,那就太好了。
【问题讨论】:
-
你可以尝试在configs中关闭严格模式
-
你为什么将
users分组为user_id?那不是主键吗? -
不,不是,我会编辑它,让它更清晰
-
当每个
user_id有多个visits时,你想得到哪个date? -
我什至可以得到随机日期(如果它与用户的至少一次访问匹配)问题在于错误
标签: sql laravel postgresql eloquent