我可以在Doctrine2中订购已加入的实体吗?

时间:2014-02-04 14:46:05

标签: doctrine-orm

说我有两个实体:Entity1和Entity2。 Entity1有许多Entity2。

我可以在doctrine2中进行查询,选择所有Entity1及其内部Entity2s按某些字段排序吗?

//I'd need this query but with the Entity2s ordered within each Entity1
SELECT e1,e2 FROM 'BundleName:Entity1' e1 JOIN e.entity2s e2;

我需要在没有Entity2中的@OrderBy(“somefield”)注释的情况下执行此操作。

1 个答案:

答案 0 :(得分:1)

您需要向DQL添加ORDER BY子句,就像使用本机SQL一样。如果您想订购多个字段,可以使用逗号分隔它们。在您的情况下,您希望首先通过其唯一标识符对entity1进行排序,然后按实体2的字段排序。

您的最终查询将如下所示:

SELECT e1,e2 FROM 'BundleName:Entity1' e1 JOIN e.entity2s e2 ORDER BY e1.id, e2.somefield;