Поиск во многих отношениях с Doctrine2
Это, вероятно, легко, но я не могу понять это и не нахожу ответа.
У меня есть простые статьи и ArticleTag Entities со многими многими отношениями. Как я могу получить все статьи с определенным тегом (или тегами)?
Мои следующие попытки:
$qb = $repository->createQueryBuilder('a')
// ...
->andWhere('a.tags = :tag')
->setParameter('tag', 'mytag')
// ...
или
->andWhere(':tag in a.tags')
->setParameter('tag', 'mytag')
... не работает. Спасибо!
Ответы
Ответ 1
И победитель... барабан, пожалуйста...
$qb = $repository->createQueryBuilder('a')
// ...
->andWhere(':tag MEMBER OF a.tags');
->setParameter('tag', $tag);
// ...
Спасибо всем, кто нашел время, чтобы прочитать и подумать о моем вопросе!
Ответ 2
Я думаю, вы можете использовать этот пример (из документации):
$query = $em->createQuery('SELECT u.id FROM CmsUser u WHERE EXISTS (SELECT p.phonenumber FROM CmsPhonenumber p WHERE p.user = u.id)');