Twig for循环,如何显示最后一个元素?

Mik*_*cho 5 symfony twig

这是我的代码.

<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>
Run Code Online (Sandbox Code Playgroud)

这是发布每个附件很好,但我只是希望它在迭代附件表时发布它找到的最后一个附件.例如,如果它找到10个附件,我不想要它们全部,只是第10个.反正有没有这样做?

Rob*_*ans 16

从版本1.12.2开始,Twig包含一个"最后"过滤器语法如下:

{{ array|last }}
Run Code Online (Sandbox Code Playgroud)

在你的情况下,它将是:

{{ lineup.attachments|last }}
Run Code Online (Sandbox Code Playgroud)

您可以像以下一样使用它:

{% set attachement = lineup.attachments|last %}
<li>
    <a href='http://files.example.com/{{ attachment.file_url }}'>
       {{ attachment.name }}
    </a>
</li>
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读所有相关内容:Twig文档