2013-07-31 2 views
0

У меня есть 3 объекта.Symfony2 ManyToMany обратный результат

  • пользователи

  • группы

  • user_groups

Пользователи объект содержит пользователей, группы содержит группы и есть ManyToMany отношения между этими двумя объектами с user_groups.

В моей сущности пользователей я могу получить те группы, которые назначены на мой пользователь:

/** 
* @ORM\ManyToMany(targetEntity="Groups", inversedBy="users") 
* @ORM\JoinTable(name="user_groups", 
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
* inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")} 
*) 
*/ 
private $groups; 

Это просто и ясно, но как я могу получить те группы, которые не отнесены к моему пользователю?

Есть ли способ получить «обратный результат» отношений ManyToMany?

Спасибо!

ответ

1

Вы можете использовать не является членом выражения в вашем QueryBuilder:

... 
->andWhere(':user NOT MEMBER OF g.users') 
->setParameter('user', $user) 
... 
Смежные вопросы