Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][Symfony2]Dynamiczne wyświetlanie zawartości obiektów w TWIG
Geniesis
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 4.12.2013
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Witam ponownie,
niestety napotkałem na następujący problem i szukam najlepszego rozwiązania:

Pobieram dane z bazy danych i chcę je wyświetlić w twig template, metoda jest uniwersalna - w zależności od podanej przez użytkownika nazwy zostanie wybrana z bazy danych inna tabela:
  1.  
  2. public function addAction(Request $request, $nameAction)
  3. {
  4. $em = $this->getDoctrine()->getManager();
  5. switch ($nameAction) {
  6. case 'categories':
  7. $tableName = 'Categories';
  8. $objEntity = new Categories();
  9. break;
  10. ...
  11. }
  12. $query = $em->createQuery(
  13. "SELECT d
  14. FROM CoreBundle:$tableName d
  15. "
  16. );
  17. $aDbData = $query->getResult();
  18.  
  19. return array(
  20. 'aDbData' => $aDbData,
  21. );
  22. }
  23.  


W systemie template mogę odnieść się w ten sposób:
  1. {% for i, objData in aDbData %}
  2. {{ objData.id }}
  3. {% endfor %}

jednakże nie wiem jaka faktycznie jest zawartość tabeli, która została wybrana, więc owo statyczne rozwiązanie nie ma prawa bytu,
dlatego postanowiłem użyć dodatkowej pętli, niestety nie wyświetla nic:
  1. {% for i, objData in aDbData %}
  2. {% for j in objData %}
  3. {{ j }}
  4. {% endfor %}
  5. {% endfor %}


Czy wiecie jak można bezpośrednio odnieść się do owych danych?

W teorii można dopisać w PHP funkcję, która będzie pobierać nazwy, po czym owe dane dosyłać w kolejnej tablicy - zmiennej, jednak wydaje mi się to niezsensowne (dochodzi wtedy także zabawa z uzyskiwaniem dostępu do 'private' przed przekazaniem do tablicy).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:00