related najde referenci na spatnou tabulku

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

Ahoj,

mám tabulky:

tags
uzivatel
uzivatelRecenze

Kdy vazba je uzivatel:tags (1:n), uzivatelRecenze:tags(1:n)

a dotaz:

...->where('tags:uzivatel.kod', 'platny')

Problem je v tom, ze se mi to automaticky paruje na tabulku „uzivatelRecenze“, ale ja to potrebuju spojit s tabulkou „uzivatel“.
Nevite jak na to?

Díky
Lukáš

David Matějka
Moderator | 6445
+
0
-

muzes sem prosim hodit strukturu tech tabulek?
a nad jakou tabulkou volas to where (tedy co je v ->table())?

Editoval matej21 (16. 12. 2014 13:45)

konva
Člen | 88
+
0
-

Já jsem to tady zjednodušil, protože ty vazby mám trochu složitější, ale takhle to tedy je reálně:

Kód je

$profil = $this->db->table('uzivatel')->where('uzId',$id);
<div n:inner-foreach="$profil->related('oblibene')->where('oblibeneId:uzivatel.uzStavId', 'schvalen') as $oblibene">

fungovalo to do te doby nez jsem vytvoril tabulku „uzivatelRecenze“.

konva
Člen | 88
+
0
-

nikdo nevi?

Felix
Nette Core | 1245
+
0
-

Nejspis si budes muset prepsat Reflection

Podobny problem jsem treba resil u view, kde to neparovalo vubec nic.

konva
Člen | 88
+
0
-

a nějaká rychlá ukázka jak přespat reflection?:)

David Matějka
Moderator | 6445
+
0
-

Spis si udelej databazi nejak normalne :)
Co je ta tabulka „hlavni“ ??
Posli sem sql dump (vcetne par radku dat..)

konva
Člen | 88
+
0
-

no tu MAIN tabulku pouzivam k tomu abych mel unikatni klice v ramci ruznych tabulek. Mam treba tabulky Uzivatel, Clanek, Katalog a pak tabulku Komentare. No a do tabulky Komentare vkladam zaznamy ke vsem tem trem predchazejicim a diky tomu ze maji zaznamy unikatni ID (to si vytvarim v te tabulce MAIN) tak mi staci jedna tabulka komentaru a ne tri.
Kdyz zakladam zaznam napr v tabulce Clanek, tak prvni zalozim radek v tabulce Main a tim ziskam to unikatni ID.
System se mi myslim celkem osvedcil, ale jestli mate napad jak to vyresit elegantneji, tak sem s nim.
Lukas

ali
Člen | 342
+
0
-

konva napsal(a):

System se mi myslim celkem osvedcil, ale jestli mate napad jak to vyresit elegantneji, tak sem s nim.
Lukas

Pokud chces mit jenom jednu tabulku s komentari, tak bych to spis resil, ze bych pridal sloupecky do tabulky s komentaremi clanek_id ⇒ komentar k clanku, katalog_id ⇒ komentar ke katalogu s defaultni hodnotou 0, nez abych vytvarel dalsi tabulku

konva
Člen | 88
+
0
-

no tohle reseni se mi moc nelibi. Tech tabulek ale „komentare“ tam mam vic a soucasne i tech hlavnich tabulek tam je vice. Pak bych vsude mel hromadu prazdnych poli.
Nicmene, problem ktery resim neni způsoben mojí strukturou databáze (resp tou spojovaci tabulkou MAIN), ale tim, ze kdyz se odkazuji na tabulku „uzivatel“, tak discovery reflection mne odkaze na tabulku „uzivatelRecenze“. Jde mi o to, zda mohu nejak specifikovat, ze se odkazuji na tuto konkretni tabulku. Samozrejme ji mohu prejmenovat, ale doufal jsem v lepsi reseni.
Lukas