我正在尝试创建一个查询以从 Doctrine 数据库中检索对象,按特定一对多关系的成员数排序。
更具体地说:我有两个实体:个人和联邦。一个人可以是一个联盟的成员(Person 有'federation' 关系),一个联盟可能有n个人(Federation 作为'people' 关系)。
我想创建一个 DQL 查询,该查询将返回联邦列表,按该联邦成员的人数排序。这些方面的东西:
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of members of f.people]
那将是第一步。还有一个额外的第二步,我不知道是否可以通过单个查询来实现,这将在计数之前过滤关系的成员。像这样:
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of (f.people p where p.attr = value)]
第二个将是最佳结果,但第一个满足我的需要,如果第二种情况在单个查询中不可行的话。
提前致谢。