Doctrine查询生成器和manytomany

时间:2013-10-01 02:03:12

标签: php symfony doctrine-orm query-builder

我有一个简单的问题。

我有一些用户。我有一些联系方式

一个用户可以拥有一些联系人。一个联系人可能拥有许多用户。

简单的ManyToMany关系。

用户< - > user_contact< - >接触

如何构建一个返回类似的查询:

所有联系人不归用户所有。这些联系人可能由其他用户拥有或不拥有。

感谢。

1 个答案:

答案 0 :(得分:6)

MEMBER OF选项将起到魔力。

我认为你正在寻找这样的东西:

$em->createQuery("select c from Contract c where :userId NOT MEMBER OF c.Users")
   ->setParameter("groupId", <<YOUR_USER_ENTITY_OR_USER_ID>>)
   ->getResult();

当然我不了解你的实体,但我认为这会给你一些想法。