MBO-SD : De site voor software developer in het MBO
Relaties in je View
Relaties in een View
Als in een Controller de data van een Entity mee stuurt met een relatie kan je die ook in een TWIG View bestand
gebruiken. Je kan dan met een for-loop
door de relatie(s) heen lopen als het een Many is of
de relatie tonen.
In ons voorbeeld werken we weer met een Author en Book.
Op de volgende manier toon je de naam van een auteur.
{{ book.author.name}}
Je kan dus met .author
de auteur ophalen, maar die kan je niet zomaar tonen, het is immers
een andere entity. Je wil de naam tonen dus gebruik je ook .name
om de naam op te halen.
Een ManyTo relatie tonen
Om vanuit een Author alle boeken (books) te tonen gebruiken we eerst een for-loop. Let op dat de for-loop precies anders werkt dan je gewend bent, eerst de variabele die je in de for-loop gebruikt, daarna de array.
{% for book in author.books %}
<p>
Naam van het boek - {{ book.name }}
</p>
{% endfor %}
Relaties met relaties (dubbele for-loop)
Ook in je Twig file heb je soms een lijst van entiteiten waarvan je een Many relatie
wilt tonen, denk ook hier aan recepten met ingredienten (zie het voorbeeld in de Relaties
in de Controller). In de twig file kan je dan ook een dubbele for-loop gebruiken.
LET OP!
je moet natuurlijk de variabele recipes
meegeven
aan de twig file.
{% for recipe in recipes %}
<p>
Ingredienten voor {{ recipe.name }}
{% for ingredient in recipe.ingredients %}
{{ ingredient.name }}
{% endfor %}
</p>
{% endfor %}