是否可以加入对象列表的属性值来显示它?
就像是:
{{ users|join(', ', username) }}
对象在哪里users
,有一个getUsername()
方法。
我想join
不需要额外的参数,但是有没有解决方法来实现类似的东西?我不能使用该__toString()
功能,因为它代表其他东西......
或仅使用一个 forloop 获得相同的结果
{% for user in users %}
{{ user.username }}{% if not loop.last %}, {% endif %}
{% endfor %}
你可以用..
{% set usernames = [] %}
{% for user in users %}
{% set usernames = usernames|merge([user.username]) %}
{% endfor %}
{{ usernames|join(', ') }}
虽然不是最漂亮的。
你总是可以制作一个自定义的树枝过滤器来做到这一点。
您可以使用map()过滤器...并将所有内容放在一行中:
{{ users|map(u => u.username)|join(', ') }}
数字消息想法的简短版本:
{% for user in users %}
{{ user.username ~ (not loop.last ? ', ') }}
{% endfor %}