Filozofie, jak postupovat při vypisování dvou mysql tabulek do jedné šablony

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
rossini
Člen | 26
+
0
-

Ahoj, už pěknou řádku let (cca týden) se peru s triviálním problémem, jak postupovat při takovémto návrhu → výsledný design by měl vypadat takto:

Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1

Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1

Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1

Nazev_kategorie_level0 je v jedné tabulce, Nazev_kategorie_level1 jsou v druhé tabulce. Mám SELECT:


SELECT [kategorie_level0.ID], [kategorie_level0.nazev], [kategorie_level1.nazev] AS nazevL1 FROM [kategorie_level0], [kategorie_level1] WHERE [kategorie_level1.Level0]=[kategorie_level0.ID]


Takže výsledek dostanu cca takto:

kategorie_level0.ID kategorie_level0.nazev kategorie_level1.nazev
1 level0.nazev1 level1.nazev1
2 level0.nazev1 level1.nazev2
3 level0.nazev1 level1.nazev3
4 level0.nazev2 level1.nazev1
5 level0.nazev2 level1.nazev2
6 level0.nazev2 level1.nazev3
7 level0.nazev3 level1.nazev1
8 level0.nazev3 level1.nazev2
9 level0.nazev3 level1.nazev3
   

No a konečně šablona vypadá nějak takto:

<ul n:foreach="$hlavnikategorie as $kategorie">
	<li>
		<a href="#">{$kategorie -> level_0.nazev}</a>

		<ul>
		      <li>
		            <a href="#">level_1.nazev1</a>
		      </li>
		      <li>
		            <a href="#">level_1.nazev2</a>
		      </li>
		      <li>
		            <a href="#">level_1.nazev3</a>
		      </li>
		</ul>
	</li>

</ul>

No a teď k jádru pudla. Vše si perfektně vypíšu a takto vytvořenou šablonou se mi vygeneruje správně opakující se <ul> s dynamicky dosazenými {$kategorie → level0.nazev} a natvrdo napsanými <li>. Jak ale do sebe vnořit další foreach tak, aby mi při jednom průběhu 3× vygenerovali to <li> a potom se otáčka vrátila na <ul>? Prostě hovadina, kterou nedokážu domyslet dokonce :(