Поиск во многих отношениях с Doctrine2 - PullRequest
14 голосов
/ 23 сентября 2011

Это, вероятно, легко, но я не могу ни разобраться, ни найти ответ.

У меня есть простые сущности Article и ArticleTag со многими отношениями. Как я могу получить все статьи с определенным тегом (или тегами)?

Мои следующие попытки:

$qb = $repository->createQueryBuilder('a')
    // ...
    ->andWhere('a.tags = :tag')
    ->setParameter('tag', 'mytag')
    // ...

или

    ->andWhere(':tag in a.tags')
    ->setParameter('tag', 'mytag')

... не работал. Спасибо!

Ответы [ 2 ]

44 голосов
/ 29 сентября 2011

И победитель ... барабанная дробь, пожалуйста ...

$qb = $repository->createQueryBuilder('a')
    // ...
    ->andWhere(':tag MEMBER OF a.tags');
    ->setParameter('tag', $tag);
    // ...

Спасибо всем, кто нашел время, чтобы прочитать и подумать над моим вопросом!

1 голос
/ 23 сентября 2011

Я думаю, что вы можете принять этот пример (из документации):

$query = $em->createQuery('SELECT u.id FROM CmsUser u WHERE EXISTS (SELECT p.phonenumber FROM CmsPhonenumber p WHERE p.user = u.id)');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...