Подтвердить что ты не робот

Поиск во многих отношениях с Doctrine2

Это, вероятно, легко, но я не могу понять это и не нахожу ответа.

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

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

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

или

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

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

4b9b3361

Ответ 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)');