Symfony无法解释的foreach错误,没有任何foreach


Symfony unexplainable foreach error, without having any foreach

建议的问题都不适用于这种情况,因为我的代码中没有任何foreach,但错误代码一直说…

我的动作是:

public function doctrinoAction()
    {
        $id=1;
        $em = $this->getDoctrine()->getManager();
        $dql = 'SELECT p FROM TPMainBundle:Works p WHERE p.id = :id';
        $consulta = $em->createQuery($dql)->setParameters('id', $id);
        $productos = $consulta->getResult();
        return $this->render('TPMainBundle:Default:indra.html.php', array(
                    'productos' => $productos,
        ));
    }

和我的视图只是:

<?php
echo 'lio';

没有foreach。我可以在视图中写任何东西,错误码都是一样的。我可以发送渲染到任何视图它没有到达它,错误代码是:

ContextErrorException: Warning: Invalid argument supplied for foreach() in C:'xampp'htdocs'TP'vendor'doctrine'orm'lib'Doctrine'ORM'Query.php line 303 

和我在开发工作,并清除缓存…发生了什么?

唯一存在的'foreach'循环,是位于"Query.php"文件,但它不是由我创建的。

query.php的第303行:

foreach ($this->parameters as $parameter) {
        $key    = $parameter->getName();
        $value  = $parameter->getValue();

请帮

尝试更改

$consulta = $em->createQuery($dql)->setParameters('id', $id);

:

$consulta = $em->createQuery($dql)->setParameter('id', $id);

或者:

$params = array('id' => $id);
$consulta = $em->createQuery($dql)->setParameters($params);