检查我的查询是否不返回实体

时间:2015-06-18 10:09:13

标签: mysql symfony doctrine entity

当我尝试这个时:

$emGeneral = $this->get('doctrine.orm.default_entity_manager');
                    $idequipo= $emGeneral->getRepository('AgcManagerBundle:EquipoControl')
                       ->createQueryBuilder('p')
                       ->where('p.codigo = "'.$i["equipo"].'"')
                       ->getQuery()
                       ->setMaxResults(1000)
                       ->setFirstResult(0)
                       ->getResult();

我收到了下一个错误:

[2/2] QueryException:[语法错误]第0行,第72行:错误:预期文字,得到'“'
[1/2] QueryException:SELECT p FROM Agc \ ManagerBundle \ Entity \ EquipoControl p WHERE p.codigo =“0E150347”

1 个答案:

答案 0 :(得分:3)

不要直接将参数传递给where方法,将其传递给setParameter/Parameters方法,如下所示:

$idequipo= $emGeneral->getRepository('AgcManagerBundle:EquipoControl')
                       ->createQueryBuilder('p')
                       ->where('p.codigo = :equipo')
                       ->setParameter('equipo', $i['equipo'])
                       ->getQuery()
                       ->setMaxResults(1000)
                       ->setFirstResult(0)
                       ->getResult();