Symfony 对于循环,如何显示最后一个元素?

Symfony 对于循环,如何显示最后一个元素?,symfony,twig,Symfony,Twig,这是我的密码 <th>Attachment</th> <td> <ul> {% for attachment in lineup.attachments %} <li><a href='http://files.example.com/{{ attachment.f

这是我的密码

<th>Attachment</th>
                <td>
                    <ul>
                        {% for attachment in lineup.attachments %}
                        <li><a href='http://files.example.com/{{ attachment.file_url }}'>{{ attachment.name }}</a>
                        {% endfor %}
                    </ul>
                </td>
附件
    {lineup.attachments%中的附件为%s}
  • {%endfor%}

这是张贴每一个附件,这是伟大的,但我只希望它张贴最后一个附件,它发现,同时通过附件表迭代。例如,如果它找到10个附件,我不想要所有附件,只想要第10个。是否仍要执行此操作?

从1.12.2版开始,Twig包含一个“最后”过滤器 语法如下所示:

{{ array|last }}
在您的情况下,它将是:

{{ lineup.attachments|last }}
您可以像这样使用它:

{% set attachement = lineup.attachments|last %}
<li>
    <a href='http://files.example.com/{{ attachment.file_url }}'>
       {{ attachment.name }}
    </a>
</li>
{%set attachement=lineup.attachments | last%}

  • 您可以在此处阅读所有相关内容:

    要添加到已接受的答案中,无需将其设置为变量。这也有效:

    <a href='http://files.example.com/{{ lineup.attachments|last.file_url }}'>
      {{ lineup.attachments|last.name }}
    </a>
    
    
    
    这是我尝试使用的一个,但在您建议的{%for%}语句中使用它时,没有显示任何内容。当我在{attachment.name | last}中使用它时,它只显示最后一个字母,但仍然发布所有4个项目@Robin Hermans在for循环中不使用它。你应该像使用物体一样使用它。请看我上次的编辑。没问题。你的项目成功了。