【问题标题】:KNPPaginator - Invalid parameter number: number of bound variables does not match number of tokens (Symfony2, Doctrine)KNPPaginator - 无效的参数号:绑定变量的数量与令牌的数量不匹配(Symfony2,Doctrine)
【发布时间】:2014-05-26 04:24:25
【问题描述】:

我使用 KNPPaginatorBundle,如果我将 setParameter 添加到查询中,我会收到此错误消息。

我使用 SF 2.4.2、教义 2.2.3、knp-components 1.2.5 和 KNP Paginator 2.4.0。

如果我使用:

$qb = $this->createQueryBuilder('c')
->addSelect('translation')
->leftJoin('c.translations', 'translation')
->where('c.lvl = 1');

一切正常。

但如果我使用:

$qb = $this->createQueryBuilder('c')
->addSelect('translation')
->leftJoin('c.translations', 'translation')
->where('c.lvl = :lvl')
->setParameter('lvl', '1');

我收到错误消息参数编号无效:绑定变量的数量与标记的数量不匹配

这是我在 bundle 或 Symfony 中的错误或错误吗? 感谢您的帮助。

【问题讨论】:

    标签: symfony doctrine-orm knppaginator


    【解决方案1】:

    您收到此错误是因为您使用了 where 子句。使用 setParameter 时,您需要使用 andWhere。它应该如下所示:

    $qb = $this->createQueryBuilder('c')
    ->addSelect('translation')
    ->leftJoin('c.translations', 'translation')
    ->andWhere('c.lvl = :lvl')
    ->setParameter('lvl', '1');
    

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多