Nette database vysledek do stromu

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

Zdravím,

potřeboval bych udělat přes nette database JOIN tří tabulek (kategorie, podkategorie, produkt) a uložit to jako do stromové struktury, respektive získat pole kategorií, které obsahuje pole podkategorií, které obsahuje pole produktů.

Chci to do takového formátu kvůli jednoduchému vykreslování stromového grafu.

Nevím si rady jak toho docílit. První nápad byl zavolat select na všechny kategorie, v cyklu je procházet a ptát se na podktegorie a ty také v cyklu procházet a ptát se na produkty. Jenže to by generovalo strašnou spoustu dotazů.

Nyní mám natvrdo napsaný SQL dotaz přes ->query(), kdy dostanu celý výsledek a ten si pak přechroustávám do požadovaného formátu. Ale jaksi cítím, že to není to pravé, kvůli budoucímu rozšíření.

Řešili jste někdy něco podobného? Nějaké tipy?

greeny
Člen | 405
+
0
-

udělej si nějakej repozitář, kde to query budeš volat, pak v tom není problém.

ondrej256
Člen | 187
+
0
-

Takže říkáš ať to nechám jak mám?

Repozitář samozřejmě mám, ale volám tam dotaz pomocí ->query což je takové polo obcházení nette database.

A pak nějakou logiku, která výsledek co mně vrátí db upraví do mnou požadovaného formátu?

greeny
Člen | 405
+
0
-

Není to tak hrozný, jak si myslíš, já taky občas radši použiju query. Ta logika může být v té repozitářové metodě taky :)

David Matějka
Moderator | 6445
+
0
-

Jenže to by generovalo strašnou spoustu dotazů.

prave ze NDBT s pouzitim related by to melo slusne optimalizovat a melo by to polozit pouze 3 dotazy