Symfony-异常'键“ xy”的键为“ 0,1,..”的数组不存在。使用细枝的标题功能时

时间:2018-10-05 09:33:41

标签: php function variables twig

我正在尝试显示指定表中的播放名称,但出现错误

  

具有键“ 0、1、2、3、4、5”的数组的键“ playName”不存在。

我知道错误的出处,但我不知道下一步该怎么做。

public function playTicketsAction(Request $request)
{
    $query = $this->getDoctrine()
        ->getRepository('AppBundle:Play')
        ->findAll();

    $build['playName'] = $query;

    return $this->render('@FrontTemplates/pages/tickets.html.twig', array(
        'playName' => $build
    ));
}

和树枝

<div class="card-header card-header-warning">
    {% for t in playName %}
    <h4 class="card-title ">{{ t.playName }}</h4>
    {% endfor %}
    <p class="card-category"> Here you can choose available ticket category</p>
</div>

2 个答案:

答案 0 :(得分:0)

下面是有关带有关联数组的for标签的示例:

<div class="card-header card-header-warning">
{% for t in playName.playName %}
<h4 class="card-title ">{{ t }}</h4>
{% endfor %}
<p class="card-category"> Here you can choose available ticket category</p>
</div>

答案 1 :(得分:0)

首先,将$build['playName'] = $query;替换为$build = $query;

然后更改您的Twig变量名称:

return $this->render('@FrontTemplates/pages/tickets.html.twig', array(
    'query_result' => $build // change it so it's not "playName"
));

您的Twig变量{{ query_result }}将是一个数组,是查询的结果。

现在在您的Twig模板中,只需执行以下操作即可:

{% for t in query_result %}
    <h4 class="card-title ">{{ t.playName }}</h4>
{% endfor %}

现在,您将获得查询所包含的每一行的playName列名。

之前,您正在做的事情:

{% for t in playName %}
    <h4 class="card-title ">{{ t.playName }}</h4>
{% endfor %}

因此,您添加了一个数组playName,并且想要显示{{ t.playName }}:playName是您的Twig名称数组,而不是每一行的列名,因此您得到了两个名称相似的不同东西。

你还好吗?