Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%)
|
Załóżmy, że mamy tablicę obiektów "Pytanie" przekazaną do szablonu twig. Wyświetlamy sobie te pytania:
I teraz załóżmy, że każde pytanie może mieć powiązany obiekt "Odpowiedź" w relacji OneToMany (jedno pytanie może mieć wiele odpowiedzi - od różnych userów). Pytanie: w jaki sposób mogę wyświetlić przy każdym z pytań odpowiedź, która jest do niego przypięta i która ponadto należy do wybranego usera? Czyli nie po prostu odpowiedź należącą do tego pytania, ale dodatkowo, która ma parametr userId = np. 5. Moje próby: 1. Najprościej byłoby w kontrolerze po prostu pobrać odpowiedzi do każdego z pytań skoro pobieram tam pytania. Problem w tym, że ja nie pobieram pytań w kontrolerze. W kontrolerze pobieram tylko "Karty", a w twigu pętlą pobieram wszystkie "Grupy" każdej z kart i kolejną pętlą pobieram dopiero wszystkie "Pytania" każdej grupy. Czyli nie bardzo mogę pobrać odpowiedzi bo nie dysponuję pytaniami w kontrolerze. 2. Próbowalem to zrobić przy pomocy renderowania kontrolera w twigu. Napisałem metodę, która zwraca mi odpowiedź, ale problemem jest to, że w ten sposób renderuję jakiś template w twigu i tyle. A ja potrzebuję uzyskać dostęp do tej zmiennej i móc ją użyć kilka razy w moim szablonie. Inaczej moje pytanie można sformułować tak: jak mogę uzyskać w twigu dostęp do obiektu powiązanego z obiektem, który tam już mam, ale mogąc jednocześnie wykonać trochę bardziej złożone filtrowanie na tych powiązanych obiektach. Dzięki za wszelkie rady. EDIT: Rozwiązałem problem, ale nie jestem zadowolony. W kontrolerze zrobiłem podwójnego foreacha, analogicznego do tego, który robię w twigu żeby wyświetlić pytania. I w tym foreachu tworzę tablicę z odpowedziami gdzie kluczami są identyfikatory pytań. Podaję tą tablicę do twiga no i mogę sobie jej użyć. Nie jestem zadowolony bo dwa razy robię tą samą pętlę. Nie bardzo mogę wyeliminować pętlę w twigu bo bardzo wygodnie wyświetla mi się w ten sposób pytania uporządkowane w grupach. Ten post edytował Foxx 11.05.2013, 02:34:33 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Przekaż repozytorium jako zmienną dla szablonu:
Z tym you sholdn't nie zgodziłbym się. Logika biznesowa jest ukryta wewnątrz repozytorium. Istotne jest tylko to, by metoda findBy...() zwracała już "czyste" dane gotowe do bezpośedniego wyświetlenia. Ten post edytował Crozin 11.05.2013, 16:17:35 |
|
|
|
Foxx [SF2][Symfony] dostęp do danych w twigu 11.05.2013, 02:18:41
destroyerr O ile dobrze zrozumiałem to moja propozycja jest t... 11.05.2013, 11:00:27
Foxx Rozumiem, to by rozwiązało problem, ale czy takie ... 11.05.2013, 11:07:25
Crozin W tym przypadku najprawdopodobniej pobranie odpowi... 11.05.2013, 11:15:42
destroyerr CytatRozumiem, to by rozwiązało problem, ale czy t... 11.05.2013, 13:33:20
Foxx Dzięki za odpowiedzi.
Jeszcze pojawiło mi się ta... 11.05.2013, 13:43:19
destroyerr Encja nie wie o istnieniu repozytorium więc takie ... 11.05.2013, 14:23:23
Crozin @destroyerr: Założyłem po prostu, że najprawdopodo... 11.05.2013, 15:06:57
Foxx @Crozin: jak mogę w takim razie skorzystać z metod... 11.05.2013, 15:39:17
Foxx Dzięki wam obojgu za pomoc. 12.05.2013, 12:48:44 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 20:29 |