Latte – odkaz na objekt pres promennou

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

Ahoj,
je mozne v latte udelat neco takoveho {$promenna1->$promenna2->hodnota}?

$promenna1 prijde z presenteru uz po fetch(), tedy pripravena. $promenna2 prijde surova a projizdi se pres foreach. To ale neni asi podstatne. Je mozne se odkazat na objekt pres promennou z jineho objektu?

Diky.

Editoval err (14. 3. 2016 15:10)

David Matějka
Moderator | 6445
+
+2
-

Chapu spravne, za nazev fieldu, ktery chces z promenna1 ziskat, je ulozen v $promenna2->hodnota? pak stejne jak v php – {$promenna1->{$promenna2->hodnota}}, ale muzu se zeptat, proc to konkretne potrebujes? tohle vetsinou svedci o nejakem spatnem navrhu

Machy8
Člen | 59
+
0
-

Máš na mysli něco jako tohle nebo získání hodnoty na základě jména klíče podle proměnné?

Editoval Machy8 (14. 3. 2016 15:39)

err
Člen | 77
+
0
-

Navrh mozna spatny je, nenapada me, jak to vyresit elegantneji. Nevim, jak design kloudne textem popsat.

Mam tabulku <oddily>. V ni je id, name, tabulka_zapasu a ostatni
Tabulka <povinne_zapasy> obsahuje sloupce s povinnymi zapasy, ktere jsou pro kazdy oddil povinne
A pak je tabulka <tabulka_zapasu>, ktera je uvedena v oddily->tabulka_zapasu a v ni jsou vysledky zapasu dle dne. Kazdy oddil ma tuhle tabulky svoji.

Ja kdyz chci vysledky z konkretniho dne, tak si dam select dle id_oddilu, prectu tu spravnou tabulku, nactu si vysledky. Tady je jen jeden radek, provadim ->fetch();

Pak si ctu tabulku zapasy – celou.

No a pri vypisu do dalsi tabulky v latte bych potreboval priradit ten spravny vysledek ke spravnemu oddilu a konkretnimu zapasu.

Editoval err (14. 3. 2016 16:26)

David Matějka
Moderator | 6445
+
0
-

Kazdy oddil ma tuhle tabulky svoji.

tohle je spatne, mas mit jen jednu tabulku a pouzit cizi klice

err
Člen | 77
+
0
-

Už to chodí. {$promenna1->{$promenna2->hodnota}} tak, jak jsi psal. Bylo třeba smazat cache.
Nad tim navrhem se jeste zamyslim. oddil_id a JOIN by to treba zlepsily. Uvidim.

Dekuji moc.

Editoval err (14. 3. 2016 16:26)

CZechBoY
Člen | 3608
+
0
-

Zapni si debug režim – nebudeš muset pokaždé mazat cache latte.

Editoval CZechBoY (14. 3. 2016 16:30)