加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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告诉我这个错误:

Invalid parameter number: number of bound variables does not match
number of tokens

这是我的代码:

$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');

希望这有助于某人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读