0
在我的倉庫類我創建方法applyCriteria()
:Doctrine2加入不與作品刪除
protected function applyCriteria(QueryBuilder $qb, array $criteria)
{
$qb->leftJoin('co.file', 'file');
$qb->andWhere($qb->expr()->eq('file.someField', $criteria['someField']));
return $qb;
}
我使用的兩種方法:
public function findByCriteria(array $criteria = [])
{
$qb = $this->applyCriteria($this->createQueryBuilder('co'), $criteria);
return $qb->getQuery()->getResult();
}
public function deleteByCriteria(array $criteria = [])
{
$qb = $this->applyCriteria($this->createQueryBuilder('co'), $criteria);
$qb
->delete()
->getQuery()
->execute()
;
}
所以,findByCriteria()
工作正常,但調用deleteByCriteria()
用消息Error: 'file' is not defined.
拋出Doctrine異常可能導致此問題的原因是什麼?