我刚从 mysql 切换到 postgresql,我的工作 dql 查询停止工作。
这是我的dql
SELECT p
FROM AppBundle:Photo p
JOIN AppBundle:Like l WITH p = l.photo
WHERE p.isModerated = :isModerated
AND p.isActive = :isActive
AND p.category IN(:categories)
AND p.creationDate <= :begin
AND p.creationDate >= :end
GROUP BY p.id
ORDER BY l.creationDate DESC
获取下一个错误
SQLSTATE[42803]: Grouping error: 7 ERROR: column "l1_.creation_date" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: ... p0_.creation_date >= $4 GROUP BY p0_.id ORDER BY l1_.creati...
据我所知,它说按列分组应该在 SELECT 中。我不想在那里。我只需要选择 p (AppBundle:Photo),仅此而已。应该在 dql 中编辑什么才能使其正常工作?
谢谢。
最佳答案
我刚刚将 ORDER BY l.creationDate DESC
替换为 ORDER BY p.creationDate DESC
它对我有用。据我了解,应选择 ORDER BY 列
关于postgresql - Symfony DQL Postgresql 组不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859499/