为什么绑定变量的数量与Doctrine2中的令牌数量不匹配?

时间:2015-01-30 10:14:18

标签: symfony doctrine-orm

想象一下这段代码:

$em = $container->get('doctrine.orm.entity_manager');
$qb = $em->getRepository('SomeBundle:SimeEntity')->createQueryBuilder('e');
$qb->addSelect('(CASE WHEN (e.title IN (:param)) THEN 1 ELSE 0 END) AS HIDDEN ord');
$qb->addOrderBy('ord');
$qb->setParameter('param', array('one', 'two', 'three'));
$qb->getQuery()->getResult();

预期结果是什么?是的,只是实体列表。

但我们真的会看到什么?例外:Invalid parameter number: number of bound variables does not match number of tokens

为什么会这样?

如果我将参数添加到where语句,则此代码将正常工作。

0 个答案:

没有答案