3
私はこのSQLクエリを作成しようとしており、2番目のパラメータでエラーが発生し続けています。複数のパラメータを持つ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を()を使用しての適切な方法です。 ? TEF t0_ WHERE t0_.epreuve = FROM points_0 AS t0_.pointsをSELECT」実行中
例外が発生しましたか? AND t0_.resultat =? '
SQLSTATE [HY093]:無効なパラメータ番号:paramsは [ "CE"、 "B1"]と[列/パラメータ 1ベース
私はそれが 'SetParamater'の代わりに 'setParameters'であるべきだと思います。 – kkochanski
はい、ありがとうございました。 – Letsrocks
このソリューションを提案していただきありがとうございます。私はarray()を作るのがかなり論理的です。私は今試したところ、エラーが発生しました: 警告:Doctrine \ ORM \ QueryBuilder :: setParameter()の引数2がなく、AppBundle \ Controller \ DemandesController.phpで250行目に呼び出され、定義されています。ソースコード:http://pastebin.com/UEtDUwgq – Cyberflow