Построитель запросов Doctrine и manytomany

У меня простая проблема.

У меня есть несколько пользователей. у меня есть контакты

У одного пользователя может быть несколько контактов. Один Контакт может принадлежать многим Пользователям.

Простое отношение ManyToMany.

Пользователь ‹-> user_contact ‹-> Контакт

Как я могу построить запрос, который вернет что-то вроде:

Все контакты, не принадлежащие пользователю. Эти контакты могут принадлежать другому пользователю или нет.

Спасибо.


person rgb    schedule 01.10.2013    source источник


Ответы (1)


Параметр 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();

Конечно, я не знаю ваших сущностей, но я думаю, что это даст вам некоторое представление.

person Rene Terstegen    schedule 01.10.2013
comment
Действительно хороший, он делает именно то, что я искал. Большое спасибо! - person rgb; 01.10.2013