[当我尝试选择集合中所有数字的实体时,Doctrine会引发异常:
[Syntax Error] line 0, col 70: Error: Expected =, <, <=, <>, >, >=, !=, got 'IN'
QueryBuilder以这种方式使用:
$this->getEntityManager()->createQueryBuilder()->select('f0')->from(Factory::class, 'f0')->where("${companyId} IN f0.offices");
[Facotry::offices
是ManyToMany关系。
我在做什么错?
ORM Magic无法正常运行。您不能将ManyToMany字段用作数组,并且如果左侧部分是整数,则解析器期望进行简单比较。要获得预期的结果,您必须加入Field并在id上过滤此结果。
$qb->innerJoin("f0.offices", 'be')->where("be.id = ${companyId}");