说我有两个实体: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”)注释的情况下执行此操作。
答案 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;