通过匹配Twig中的键值获取特定的数组元素

时间:2017-11-09 10:35:26

标签: arrays twig

我有一个从PHP传递给Twig的对象数组,我想打印数组中与另一个值匹配的特定条目的值,即:

{{ teams('id' == user.team_id).name }}

这是我目前正在做的事情 - 这可能是对的,必须有一个更简单的方法:

{% for team in teams %}
  {% if team.id == user.team_id %}
    {{team.name}}
  {% endif %}
{% endfor %}

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我不知道你的Controller(使用Symfony?)是怎样的,但如果User是一个对象,你可以简单地使用{{ user.team.name }}

如果不可能,您可以使用:

{{ teams[user.team_id].name }}

Documentation

如果您的数组键与id不匹配,您甚至可以缩短模板:

{% for team in teams if team.id == user.team_id %}
    {{team.name}}
{% endfor %}