Doctrine2:由ManToMany协会过滤

时间:2012-12-09 16:21:55

标签: doctrine-orm dql

我想根据它们的关联来检索对象的集合。例如,按类别。这将是一个多对多的关系。

我已经能够通过MEMBER OF实现这一目标,但是我需要传入一系列ID,而不是一次一个。我看到有一个“IN()”,但它似乎需要一个子查询,我想避免。

成员示例: SELECT o FROM Entity\Object1 o WHERE 'CATEGORY_CODE' MEMBER OF o.categories

(编辑) 这就是我想要做的,但也许我误解了实体在DQL中的工作方式: SELECT o FROM Entity\Object1 o WHERE o.categories.Id IN (id, id, id)

1 个答案:

答案 0 :(得分:1)

 SELECT o FROM Entity\Object1 o JOIN o.categories c WHERE c.id in ('id', 'id', 'id');

如果这不是您想要的,则必须将您的问题编辑为更具体。