【问题标题】:Check if my query not return entity检查我的查询是否不返回实体
【发布时间】:2015-06-18 10:09:12
【问题描述】:

当我尝试这个时:

$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"

【问题讨论】:

  • 请添加有关您的问题的更多信息。很难理解你需要什么。
  • 我需要在我的实体的查询中翻译这个 SQL 查询。示例 $query = $em->createQuery( 'SELECT p FROM AppBundle:Product p WHERE p.price > :price ORDER BY p.价格 ASC' )->setParameter('price', '19.99'); $products = $query->getResult();我如何检查返回的东西?
  • 您希望如何将 1 或 0 转换为实体?
  • 如果我的查询返回值,则此查询返回 1,否则返回 0
  • 你试过用"换成'吗?

标签: mysql symfony doctrine entity


【解决方案1】:

不要直接将参数传递给where方法,将它传递给setParameter/Parameters方法,像这样:

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

【讨论】:

    猜你喜欢
    • 2014-02-15
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2021-04-23
    • 2015-01-25
    • 2021-09-12
    相关资源
    最近更新 更多