在Twig中迭代嵌套数组的正确方法是什么

时间:2014-09-30 04:38:30

标签: php symfony twig

我在存储库上有这个功能:

public function getSolicitudes($usuario_id)
{
    $qb = $this->getEntityManager()->createQueryBuilder();

    $qb
            ->select('su.id, su.fecha_creacion, tt.nombre AS tipo_tramite, tr.nombre AS tipo_registro, es.nombre AS estado_solicitud')
            ->from("ComunBundle:SolicitudUsuario", "su")
            ->where('su.usuario = :usuario_id')
            ->join('su.tipo_tramite', 'tt', \Doctrine\ORM\Query\Expr\Join::INNER_JOIN)
            ->join('su.tipo_registro', 'tr', \Doctrine\ORM\Query\Expr\Join::INNER_JOIN)
            ->join('su.estado_solicitud', 'es', \Doctrine\ORM\Query\Expr\Join::INNER_JOIN)
            ->orderBy('su.fecha_creacion', 'DESC')
            ->setParameter('usuario_id', $usuario_id);

    return $qb->getQuery()->getResult();
}

在Twig模板中我有这个:

{{ entities|ladybug_dump }}

输出类似于图像显示:

enter image description here

我试图在Twig模板中迭代结果,如下所示:

{% for solicitud in entities %}
    <tr>
        <td></td>
        <td>{{ solicitud.tramite }}</td>
        <td>{{ solicitud.id }}</td>
        <td>{{ solicitud.solicitud }}</td>
        <td>{{ solicitud.estado }}</td>
        <td>{{ solicitud.fecha }}</td>
        <td></td>
    </tr>
{% endfor %}

但我收到了这个错误:

  

Key&#34;有轨电车&#34;对于带有键的数组&#34; id,fecha_creacion,tipo_tramite,   tipo_registro,estado_solicitud&#34;在...中不存在   /var/www/html/src/RPNIBundle/Resources/views/Listado/index.html.twig   在第25行

我在这里失踪了什么?

1 个答案:

答案 0 :(得分:3)

很明显,您使用了错误的密钥,例外情况表明:

Key "tramite" for array with keys "id, fecha_creacion, tipo_tramite, tipo_registro, estado_solicitud" does not exist in /var/www/html/src/RPNIBundle/Resources/views/Listado/index.html.twig at line 25

您的对象有一个tipo_tramite密钥,而不是tramite。您应该更改输出语句。