Symfony2-无效的参数编号
我有一个错误: 无效参数编号:绑定变量的数量不匹配 代币数量 当我试图在我的存储库中获取getAllOrders()时:Symfony2-无效的参数编号,symfony,doctrine-orm,Symfony,Doctrine Orm,我有一个错误: 无效参数编号:绑定变量的数量不匹配 代币数量 当我试图在我的存储库中获取getAllOrders()时: public function allOrdersQB() { return $this->createQueryBuilder('o') ->andWhere('o.state != :canceled') ->andWhere('o.state != :receipt_complete') ->
public function allOrdersQB()
{
return $this->createQueryBuilder('o')
->andWhere('o.state != :canceled')
->andWhere('o.state != :receipt_complete')
->setParameters(array(
'receipt_complete' => 'receipt_complete',
'canceled' => 'canceled',
));
}
public function getAllOrders()
{
return $this->allOrdersQB()
->andWhere('o.stateCorp = :stateCorp')
->setParameters(array(
'stateCorp' => 0,
))
->getQuery()->getResult();
}
我不明白,因为我已经设置了所有的参数
我做错了什么 方法重置所有以前的参数,因此您可以使用简单的
setParameter
调用(参见源代码中的),例如:
public function allOrdersQB()
{
return $this->createQueryBuilder('o')
->andWhere('o.state != :canceled')
->andWhere('o.state != :receipt_complete')
->setParameter('receipt_complete', 'receipt_complete')
->setParameter('canceled', 'canceled')
}
public function getAllOrders()
{
return $this->allOrdersQB()
->andWhere('o.stateCorp = :stateCorp')
->setParameter('stateCorp', 0)
->getQuery()->getResult();
}
希望这有助于删除
:
中的setParameter()
函数。只有setParameter('cancelled','cancelled')
setPameter没问题,我只需要用另一种方法解决同样的问题