搜索与Doctrine2的多对多关系

Cze*_*ogy 14 php many-to-many symfony doctrine-orm

这可能很容易,但我无法弄清楚,也找不到答案.

我有一个简单的文章和ArticleTag实体有很多关系.如何获得带有特定标签(或标签)的所有文章?

我的以下尝试:

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

要么

    ->andWhere(':tag in a.tags')
    ->setParameter('tag', 'mytag')
Run Code Online (Sandbox Code Playgroud)

......没用 谢谢!

Cze*_*ogy 45

获胜者是...... 鼓,请 ...

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

感谢所有花时间阅读和思考我的问题的人!

  • 谢谢!只是要发布这个问题,但这工作得很好 (3认同)
  • 也可以从Doctrine 2.5+获得`$ qb-> expr() - > isMemberOf(':tag','a.tags').(https://github.com/doctrine/doctrine2/blob/900b55d16afdcdeb5100d435a7166d3a425b9873/lib/Doctrine/ORM/Query/Expr.php).目前似乎没有证件. (3认同)