我一直在尝试创建此 SQL 查询,但第二个参数一直出错。
也许我在这里遗漏了一些东西。
这是我的要求:
$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() 的正确方法吗? ?
An exception occurred while executing 'SELECT t0_.points AS points_0 FROM tef t0_ WHERE t0_.epreuve = ? AND t0_.resultat = ?' with params ["CE", "B1"]:
SQLSTATE[HY093]: Invalid parameter number: Columns/Parameters are 1-based
最佳答案
做这个
->setParameters(array('param1'=> $param1, 'param2' => $param2))
文档 https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/reference/query-builder.html#binding-parameters-to-your-query
关于sql - 具有多个参数的 createQueryBuilder 和 setParameter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36831832/