2016-04-25 151 views
3

我一直在试图创建这个SQL查询,我一直有一个错误的第二个参数。具有多个参数的createQueryBuilder和setParameter?

也许我在这里失去了一些东西。

这里是我的要求:

$pointsTEF = $this->getDoctrine()->getManager(); 
       $pointsTEFs = $pointsTEF->createQueryBuilder('t') 
       ->select('t.points') 
       ->from('AppBundle:Tef', 't') 
       ->where('t.epreuve = :epreuve') 
       ->setParameter('epreuve',$valeur) 
       ->andWhere('t.resultat = :resultat') 
       ->setParameter('resultat',$valeurEpreuve) 
       ->getQuery() 
       ->getResult(); 

这是使用的setParameter的正确方法是(); ?

执行'SELECT t0_.points AS points_0 FROM tef t0_ WHERE t0_.epreuve =?时发生异常。 AND t0_.resultat =?'使用参数 [ “CE”, “B1”]:

SQLSTATE [HY093]:无效参数号:列/参数被基于1

回答

6
+3

我认为它应该是'setParameters'而不是'SetParamater' – kkochanski

+0

是的,谢谢我更新:) – Letsrocks

+0

谢谢你提出这个解决方案,对我来说听起来非常合理的做一个数组()。我现在尝试过了,它给了我一个错误: 警告:缺少论据2学说\ ORM \ QueryBuilder的::的setParameter()调用的appbundle \控制器\ DemandesController.php上线250和定义|源代码:http://pastebin.com/UEtDUwgq – Cyberflow