我有一个多维数组,其中存在一些对象而其他对象不存在。整个数据已在页面中使用。然后我打算用TWIG检查一下。 示例数据:
array:2[
0 => Data1 {
-id: 17
-porodType: "1d"
-name: "Dally promotion"
}
1 => Data1 {
-id: 34
-porodType: "S"
-name: "Special"
}
]
如何检查是否带有porodType =" 1d"在责任中存在? 如何为此操作显示不同的消息:存在(OK)/不存在(ERROR)?
在TWIG办理登机手续时:
{% for d in Data1 %}
{% if d.porodType == '1d' %}
<button class="btn">OK</button>
{% else %}
<button class="btn"">Error</button>
{% endif %}
{% endfor %}
此代码结果为:<button class="btn">OK</button><button class="btn">Error</button>
但我期待<button class="btn">OK</button>
或<button class="btn">ERROR</button>
答案 0 :(得分:3)
如果您只想显示一个按钮,则需要使用标记跟踪错误,因为您无法在Twig
中打破循环,
{% set error = false %}
{% for d in Data1 %}
{% if d.porodType != '1d' %}
{% set error = true %}
{% endif %}
{% endfor %}
{% if error %}
<button class="btn">Error</button>
{% else %}
<button class="btn">OK</button>
{% endif %}
答案 1 :(得分:2)
使用twig's for..if..else可能比目前接受的答案更简单:
{% for d in Data1 if d.porodType == "1.d" %}
<!-- show error button -->
{% else %}
<!-- show the okay button -->
{% endfor %}
当循环为空(没有任何迭代)时,else子句启动。
请参阅标记标记的文档:https://twig.sensiolabs.org/doc/2.x/tags/for.html