【问题标题】:symfony and DQLsymfony 和 DQL
【发布时间】:2014-02-08 03:14:33
【问题描述】:

我有:

public function findTodasLasCompras($usuario_id)
{
    $em = $this->getEntityManager();
    $dql = 'SELECT v, o, t
            FROM OfertaBundle:Venta v
            JOIN v.oferta o
            JOIN o.tienda t
            WHERE v.usuario = :id
            ORDER BY v.fecha DESC';

    $consulta = $em->createQuery($dql);
    $consulta->setParameter('id', $usuario_id);
    $result = $consulta->getResult();
    return $consulta->getResult();
}

当我执行它失败并出现错误:

ContextErrorException: 注意:未定义索引:C:\wamp\www\sympony\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php 中的 Cupon\OfertaBundle\Entity\Oferta 第 477 行

在 C:\wamp\www\sympony\vendor\doctrine\orm\lib\Doctrine\ORM\Internal\Hydration\ObjectHydrator.php 第 477 行 在 ErrorHandler->handle('8', '未定义索引: Cupon\OfertaBundle\Entity\Oferta',

帮助!请!谢谢

【问题讨论】:

    标签: sql symfony dql


    【解决方案1】:

    首先,替换这个:

    $result = $consulta->getResult();
    return $consulta->getResult();
    

    用这个:

    $result = $consulta->getResult();
    return $result;
    

    也许您应该重新安装 Symphony,似乎有些问题。

    【讨论】:

      【解决方案2】:

      尝试将您的“JOIN”转换为“LEFT JOIN”。

      如果一个 usario 存在良好的 id 为 8,可能他没有链接到 oferta 或 tienda,所以关节不返回任何内容,但离开 join 保持 usario 实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        相关资源
        最近更新 更多