Witam!
Mam pewien problem ze zmiennymi w Twigu. Posiadam taki kontroler (w Symfony)
public function showAllCards()
{
$flashcards = $this->getDoctrine()->getRepository(Flashcards::class)
->findAll();
foreach ($flashcards as $flashcard) {
$category = $flashcard->getCategories()->getName();
$word = $flashcard->getWords()->getWord();
$translation = $flashcard->getTranslations()->getWord();
}
return $this->render('main.html.twig', [
'flashcards' => $flashcards,
'category' => $category,
'word' => $word,
'translation' => $translation
]);
}
Metody getCategories(), getWords(), getTranslations() (od Doctrine) zwracają mi obiekty (relacje) klas Categories, Words, Translations (tabel w bazie), a następnie gettery zwracają mi rezultaty. Zwracam te tablice do widoku (pliku Twig), gdzie próbuję wyświetlić wyniki
{% for flashcard in flashcards %}
{{ word }}
<br>
{{ flashcard.pronunciation }}
<br>
{{ flashcard.exampleSentence }}
<br>
{{ category }}
<br>
{{ translation }}
<br>
{% endfor %}
Aplikacja iteruje tylko wyniki zmiennej flashcards (wiem dlaczego ;)). Chciałbym żeby iterowała przez wszystkie zmienne zwrócone przez kontroler. Próbowałem, w pętli foreach, zamiast zapisywać wyniki do zmiennych zapisać do tablicy flashcards z kluczami asocjacyjnymi: category, word, translation i wtedy zwrócić do widoku tylko zmienną flashcards, ale wtedy Symfony wyrzuca przeróżne błędy.
Myślałem też, żeby stworzyć tablicę tablic i w niej umieścić tablice flashcards, category, word i translation, ale takie rozwiązanie nie wydaje mi się zbyt czytelne.
Czy moglibyście podpowiedzieć jak można rozwiązać ten problem? Chciałbym, żeby pętla w Twigu iterowała przez wszystkie zmienne, a nie tylko flashcards.
Z góry dziękuję za odpowiedzi!
Pozdrawiam.