【问题标题】:Symfony2 - Twig - Issue displaying dataSymfony2 - Twig - 显示数据的问题
【发布时间】:2015-02-13 22:18:17
【问题描述】:

我已经运行了返回大量数据的查询。在我的控制器中,我这样做了

public function viewAction()
{
        $repository = $this
            ->getDoctrine()
            ->getManager()
            ->getRepository('NickAlertBundle:AvailabilityAlert');

        $alerts = $repository->getAllActiveAlerts();
        var_dump($alerts);

        return $this->render('NickAlertBundle:Page:view.html.twig', array(
            'alert' => $alerts,
        ));
}

var_dump 包含我需要的数据,看起来像

array (size=2)
  0 => 
    array (size=4)
      0 => 
        object(Nick\AlertBundle\Entity\AvailabilityAlert)[320]
          private 'id' => int 34
          private 'searchCommand' => string 'LONMEL' (length=12)
          private 'isConnecting' => string 'no' (length=2)
          private 'lastUpdated' => 
            object(DateTime)[323]
              ...
          private 'isDeleted' => boolean false
          private 'alertStatus' => string 'Active' (length=6)
      'classes' => string 'Business' (length=3)
      'flight_number' => string 'VS7' (length=3)
  1 => 
    ....

我将如何让这些数据显示在我的 Twig 文件中?我试过了

{{ alert.getSearchCommand() }}
{{ alert.searchCommand }}
{{ alert }}

但大多数时候我得到以下错误:

在渲染模板时抛出异常(“注意:数组到字符串的转换”)

所以我想知道如何才能正确显示这些数据?

【问题讨论】:

标签: symfony twig


【解决方案1】:

你需要遍历你的数组。你可以用树枝for 做到这一点:

在你的情况下,是这样的:

在控制器中:

我将您的变量从警报重命名为警报,因为可以有多个。

return $this->render('NickAlertBundle:Page:view.html.twig', array(
    'alerts' => $alerts,
));

在你的树枝文件中:

{% for alert in alerts %}
    //here you can access your entity
    {{ alert.searchCommand }}
{% endfor %}

【讨论】:

  • 我确实尝试过,但我仍然有一个问题,它抱怨数组键。我想可能是因为我有一个多维数组?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-17
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多