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

问题描述 投票:0回答:1

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

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

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

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

有什么建议吗?

arrays twig
1个回答
7
投票

我不知道你的控制器(使用Symfony?)是什么样子,但如果用户是一个对象,你可以简单地使用

{{ user.team.name }}

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

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

文档

如果您的数组键与

id
不匹配,您甚至可以使用 filter 缩短模板:

{% for team in teams|filter(team => team.id == user.team_id) %}
    {{team.name}}
{% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.