2016-04-25 148 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