我有一个从 PHP 传递给 Twig 的对象数组,我想打印数组中与另一个值匹配的特定条目的值,即:
{{ teams('id' == user.team_id).name }}
Run Code Online (Sandbox Code Playgroud)
这就是我目前正在做的事情 - 这不可能是正确的,必须有一个更简单的方法:
{% for team in teams %}
{% if team.id == user.team_id %}
{{team.name}}
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我不知道你的控制器(使用 Symfony?)是什么样子,但如果用户是一个对象,你可以简单地使用{{ user.team.name }}.
如果这不可能,你可以使用这个:
{{ teams[user.team_id].name }}
Run Code Online (Sandbox Code Playgroud)
如果您的数组键与 不匹配id,您甚至可以缩短模板:
{% for team in teams if team.id == user.team_id %}
{{team.name}}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)