funkce v latte – tahani informaci z vice databazi a jejich propojeni ve foreach cyklu

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

Takovy spise teoreticky dotaz jak byste postupovalo.

Mam databazi X produktu (vcetne id vyrobce jako foreign key) a pak databazi Y vyrobcu kde je pod prislusnym id jmeno, adresa at.

Pres renderDefault dostanu do sablony celou tabulku produktu a pak nasledne dane informace vypisuju, ale misto id bych tam chtel uvest jmeno (jinak receno ho zjistit z databaze Y).

  1. Moje puvodni myslenka byla, ze primo do templatu budu rovnou predavat upraveny vystup z databaze, ale to se mi nejak nepovedlo updatovat.
  2. druhy napad byl, ze v latte v tom foreach cyklu budu pro kazdy produkt volat funkci s parametrem id, ale vubec netusim jak neco takoveho napsat.
  3. ze bych si do databaze predal i komplet seznam (id,nazev) a nasledne pri kazdy iteraci ten seznam prosel a nasel prislusnej nazev.

Jak by se takoveto veci meli resit spravne?

DanielWellington
Člen | 17
+
0
-

jeste me ted napada inner join nad DB jestli to v nette jde.

David Matějka
Moderator | 6445
+
0
-

opravdu to mas ve vice databazich? proc?

DanielWellington
Člen | 17
+
0
-

protoze mit vsechny tyhle udaje v jedny databazi, tak je tam strasne moc redundance…

vem si ze muzu mit databazi, kde kazdy vyrobce ma treba 1000 produktu a mam 100 vyrobcu – u vyrobce je 10 parametru v databazi. Kdybych to mel vsechno v jedny db, tak se tam bude u kazdych 1000 vyrobu opakovat 1 stejnej vyrobce. To je trochu nesmyslny, ne?

David Matějka
Moderator | 6445
+
0
-

tabulka != databaze

takze to mas v jedne databazi, ale ve vice tabulkach? co pouzivas za db vrstvu? nette\database? jak vypada tva struktura databaze?

Editoval matej21 (23. 1. 2014 21:11)

DanielWellington
Člen | 17
+
0
-

jo, sry,. Spatna terminologie.. Mluvil jsem o tabulkach.

pouzivam nette\database

moje struktura vypada asi tak ze mam v db 2 tabulky X,Y. kde v X je jako jeden z parametru foreign_key z Y. V modelu mam vytvoreny zakladni Presenter pro nejake zakladni operace jako ziskani tabulky podle jmena repouizare atd. Ostatni repozare z nej dedi a nad nimi mam pak v XRepository a YRepository nejake zakladni operace nas tabulkou.

Moje otazka je, jak v Latte ziskat podle foreign_key nejake udaje z tabulky Y ve foreach cyklu, kdyz tam iteruju vystup z tabulky X.

David Matějka
Moderator | 6445
+
0
-

viz dokumentace, tvoje produkt a vyrobce je stejne (podobne) jako v dokumentaci uvedene kniha a autor

DanielWellington
Člen | 17
+
0
-

Ok, mrknu na to. Prozatim jsem to vyresil pomoci makra. Zda se mi to docela dobry. :)

s4muel
Člen | 92
+
0
-

@DanielWellington:
a pomocou akeho makra? lebo ked to spravis podla matejovej rady, tak to nemusi byt ‚prozatim‘, ale uz na furt;)

iNviNho
Člen | 352
+
0
-

Podľa mňa si troška popletený. Databáza ti stačí jedna a v nej si sprav tabuliek koľko chceš. V kode si to môžeš porozdelovať ako chceš. Na jednej databáze bežia omnoho vačšia projektov ako 100 predajcov, čo mám 1000 produktov