symfony doctrine query builder 其中(arraycollection 中的变量)
symfony doctrine query builder where (variable in arraycollection)
我想按类别获取特征。
我遇到了这个错误
[语法错误] 第 0 行,第 95 列:错误:应为 Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS,得到 'categories'
error screenshot
特征实体中的关系:
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Category", inversedBy="characteristics")
*/
private $categories;
我的查询生成器函数:
$this->createQueryBuilder('characteristic')
->leftJoin('characteristic.categories', 'categories')
->andWhere(':category in categories')
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult();
感谢评论。
我使用 MEMBER OF
语句解决了这个问题。
代码如下:
$this->createQueryBuilder('characteristic')
->andWhere(":category MEMBER OF characteristic.categories")
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult()
;
我想按类别获取特征。
我遇到了这个错误
[语法错误] 第 0 行,第 95 列:错误:应为 Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS,得到 'categories'
error screenshot
特征实体中的关系:
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Category", inversedBy="characteristics")
*/
private $categories;
我的查询生成器函数:
$this->createQueryBuilder('characteristic')
->leftJoin('characteristic.categories', 'categories')
->andWhere(':category in categories')
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult();
感谢评论。
我使用 MEMBER OF
语句解决了这个问题。
代码如下:
$this->createQueryBuilder('characteristic')
->andWhere(":category MEMBER OF characteristic.categories")
->setParameter('category', $category)
->getQuery()
->getOneOrNullResult()
;