我有一个与Foos表相关联的foos实体。我正在尝试使用createQueryBuilder()从其中删除许多行。
该任务失败了,没有任何记录,没有例外,也没有发送给mysql的DELETE查询(我尝试记录mysql中的所有查询)。
我是不是遗漏了什么?
/** @var Doctrine\ORM\EntityManagerInterface $this->entityManager */
$qb = $this->entityManager->createQueryBuilder()
->delete('Foos', 'foo')
->where('foo.some_column = :someAttr and another_column != :anotherAttr')
->setParameter('someAttr', $someAttr)
->setParameter('anotherAttr', $anotherAttr);我检查了getDQL(),部件和查询似乎是正确的。但是测试行并没有按照预期被删除。
我如何调试或纠正它?
发布于 2020-05-18 07:55:29
您不是在执行查询。
在您的示例中,$qb只是一个QueryBuilder,对createQueryBuilder()的调用就是证明。
在构建完查询之后,需要获取已构建的对象并执行它:
$qb->getQuery()->execute();https://stackoverflow.com/questions/61863216
复制相似问题