KNPPaginator - Недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов (Symfony2, Doctrine)

Я использую 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');

Я получил сообщение об ошибке Недопустимый номер параметра: количество связанных переменных не соответствует количеству токенов

Это моя ошибка или ошибка в комплекте или Symfony? Спасибо за вашу помощь.


person kvaje    schedule 11.04.2014    source источник


Ответы (1)


Вы получаете эту ошибку, потому что используете предложение where. При использовании setParameter вам нужно использовать andWhere. это должно выглядеть следующим образом:

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