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 %}
Voorbeeld van een dubbele for-loop in een twig file