繁体   English   中英

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

[英]Symfony - Exception 'Key “xy” for array with keys “0, 1, ..” does not exist.' when using twig's title function

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

具有键“ 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>

下面是有关带有关联数组的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>

首先,替换$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的每一行的playName列名。

以前,您正在做:

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

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

您可以吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM