用if测试一个值

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

我想在对象中测试,如果值在数组中[(products.name)是一个对象-'AMUSE BOEUF'是一个字符串

{% if products.name == ['AMUSE BOEUF'] %} GOLDEN PRIZE {% endif %}
但是它不起作用

我尝试过使用这样的数值,并且有效,

{% if products.id == 1090 %} WINNER IS 1090 {% endif %}

但是对于字符串值我该怎么办?
symfony doctrine twig
1个回答
0
投票
因为['AMUSE BOEUF']是一个数组,所以应该改用in运算符:

{% if products.name in ['AMUSE BOEUF'] %} GOLDEN PRIZE {% endif %}

或不使用数组:

{% if products.name == 'AMUSE BOEUF' %} GOLDEN PRIZE {% endif %}

老实说,无论如何,您都不应该在视图中对这种逻辑进行硬编码。应该将其提取到服务中。例如,您可以开发自己的名为twig testa winner并这样写:

{% if products is a winner %} GOLDEN PRIZE {% endif %}

© www.soinside.com 2019 - 2024. All rights reserved.