postgresql - Symfony DQL Postgresql 组不工作

标签 postgresql symfony dql

我刚从 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/

相关文章:

doctrine-orm - Doctrine2 DQL 加入不相关的表以获取两个实体

java - Postgres : connection refused

postgresql - PostgreSQL 中的 'Schema' 是什么?

postgresql - 使用 doctrine2 postgresql 的模式更新总是 DROPs 然后 ADDs CONSTRAINTs

symfony - Doctrine2 - 没有关系的子查询连接

symfony1 - Doctrine :多个(whereIn OR whereIn)查询?

sql - 当所有其他列都相等时,对具有不同标签的值的约束

sql-server - SQL Server DISTINCT 和 GROUP BY 仍然返回重复项(子查询格式)

php - 访问表单标签中的翻译

php - DQL、Doctrine ORM中如何写count(*)SQL