我有一张与ManyToOne住所关系的住宿表 - >要求。我想计算每个住所的申请数量。我已经开始展示我的2个住所,但我想计算每个住所的申请数量。这是我的代码。
{% set countD = [] %}
{% for key in demandes|keys %}
{% if demandes[key].residence.name not in countD %}
Résidence : <em style="color:#b94a83;">{{ demandes[key].residence.name }}</em>
<br/>
{% set countD = countD|merge([demandes[key].residence.name]) %}
{% endif %}
{% endfor %}
谢谢。
答案 0 :(得分:0)
这种类型的逻辑应该在你的控制器中实现,否则可以使用它:
{% set residences = [] %}
{% set demandesCount = {} %}
{% for key in demandes|keys %}
{% set name = demandes[key].residence.name %}
{% set demandesCount = demandesCount|merge({ (name) : demandesCount[name]|default(0) + 1 }) %}
{% set residences = residences|merge({(name) : name}) %}
{% endfor %}
{% for name in residences %}
Résidence : <em style="color:#b94a83;">{{ name }}</em> ({{ demandesCount[name] }})
<br/>
{% endfor %}
demandesCount 会有类似的内容
然后在需要时使用此数组。
如果您需要在打印住所名称时显示需求量,则需要进行一些更改:
{{1}}
由于模板的复杂性,建议在控制器中执行此类逻辑,但有时需要;)