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

时间:2013-12-19 19:22:35

标签: 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>

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

2 个答案:

答案 0 :(得分:16)

从版本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>

您可以在此处阅读所有相关信息:Twig documentation

答案 1 :(得分:0)

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

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