php – Doctrine setParameter和无效的参数号
发布时间:2020-12-13 13:11:38 所属栏目:PHP教程 来源:网络整理
导读:经过多次尝试,我想我终于明白了文档. 然后,我需要你的帮助..我不明白为什么Doctrine告诉我这个错误: Invalid parameter number: number of bound variables does not match number of tokens 这是我的代码: $qb = $this-em-createQueryBuilder();$qb-selec
经过多次尝试,我想我终于明白了文档.
然后,我需要你的帮助..我不明白为什么Doctrine告诉我这个错误:
这是我的代码: $qb = $this->em->createQueryBuilder(); $qb->select('m') ->from('EntitiesMarque','m') ->leftJoin('m.magasin','ma') ->where('m.nom = :marque AND ma.nom LIKE :magasin') ->setParameter('marque',$marque) ->setParameter('magasin','%'.$matchesNumber[1].'%'); $results = $qb->getQuery()->getArrayResult(); 提前感谢您的回答.
如果您不小心使用多个where(),这种情况也会发生在我身上.
$em = $this->getEntityManager(); $query = $em->createQueryBuilder() ->from('AppBundle:SomeEntity','s') ->select('s') ->where('s.foo = :foo') ->where('s.bar = :bar') // <- HERE ->setParameter('foo','Foo Value') ->setParameter('bar','Bar Value'); 应该: $em = $this->getEntityManager(); $query = $em->createQueryBuilder() ->from('AppBundle:SomeEntity','s') ->select('s') ->where('s.foo = :foo') ->andWhere('s.bar = :bar') // <- CHANGE TO andWhere() ->setParameter('foo','Bar Value'); 希望这有助于某人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |