【问题标题】:What is the right way to iterate over nested array in Twig在 Twig 中迭代嵌套数组的正确方法是什么
【发布时间】:2014-09-30 14:10:30
【问题描述】:

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

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 }}

输出类似于图像显示:

我正在尝试迭代 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 %}

但是我收到了这个错误:

带有键“id、fecha_creacion、tipo_tramite、 tipo_registro, estado_solicitud" 中不存在 /var/www/html/src/RPNIBundle/Resources/views/Listado/index.html.twig 在第 25 行

我在这里缺少什么?

【问题讨论】:

    标签: php symfony twig


    【解决方案1】:

    很明显,您使用了错误的密钥,正如异常所暗示的那样:

    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。您应该更改输出语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 2022-11-10
      • 1970-01-01
      • 2017-03-04
      • 2012-08-16
      • 1970-01-01
      • 2012-03-17
      • 2021-10-09
      相关资源
      最近更新 更多