2017-05-09 4 views
1

Ich habe einen Wohnsitz Tisch mit einer Beziehung ManyToOne Residenz -> Anfragen. Ich möchte die Anzahl der Bewerbungen von jedem Wohnsitz zählen. Ich fange schon an, indem ich meine 2 Wohnsitze auszeige, aber ich möchte die Zahl von Anwendungen für jede Residenz zählen. Hier ist mein Code.Zweig zählen die Anzahl der Elemente nach einem Namen

{% 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 %} 

Vielen Dank.

+0

Sollte in Ihrem Controller behandelt werden, nicht Ihre Vorlage – DarkBee

+0

@DarkBee oder sogar in einer TwigExtension. –

Antwort

0

Diese Art der Logik sollte in dem Controller implementiert werden, sonst kann dies mit:

{% 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 }) %} 
    {% if name not in residences %} 
     Résidence : <em style="color:#b94a83;">{{ name }}</em> 
     <br/> 
     {% set residences = residences|merge([(name)]) %} 
    {% endif %} 
{% endfor %} 

demandesCount wird

so etwas wie dieses

dieses Array verwenden Dann enter image description here

haben, wenn du brauchst.

Wenn Sie die Menge der Anforderungen angezeigt werden müssen, wenn der Druck der Residenz Name dann eine kleine Änderung erforderlich ist:

{% 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 %} 

Aufgrund der Komplexität der Vorlage wird empfohlen, tut diese Art von Logik in der Steuerung, sondern Manchmal wird benötigt;)

+0

Danke seiner Arbeit :) – CHRISCOM

Verwandte Themen