如果条件在twig模板引擎中的for循环

use*_*214 1 symfony twig

每个公司对象都与图像具有一对多的关系.
现在在我的模板中,我想检查是否有类型为testtype的图像.

如何用树枝处理这个?以下是一个例外:

值"testtype"的意外标记"字符串"(预期"名称")

枝条

{% for image in company.images if image.type is 'testtype' %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

Tom*_*ský 9

<ul>
{% for user in users if user.active %}
    <li>{{ user.username|e }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

http://twig.sensiolabs.org/doc/tags/for.html#adding-a-condition

  • 刚刚发现这个[已弃用的功能页面](https://twig.symfony.com/doc/2.x/deprecated.html#tags),其中写着:“在 Twig 2.10 中不推荐在 for 标记上添加 if 条件。使用过滤器过滤器或“for”主体内的“if”条件(如果您的条件取决于循环内更新的变量)” (4认同)

Pie*_*NAY 6

执行此操作的新方法如下(for if自 Twig 2.10 起已弃用):

{% for image in company.images|filter(image => image.type is 'testtype') %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)


小智 5

你试过这个吗

{% for myimage in company.images %}
   {% if myimage.type == 'testtype' %}
   {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)