related najde referenci na spatnou tabulku
- konva
- Člen | 88
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
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
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“.
- Felix
- Nette Core | 1245
Nejspis si budes muset prepsat Reflection
Podobny problem jsem treba resil u view, kde to neparovalo vubec nic.
- David Matějka
- Moderator | 6445
Spis si udelej databazi nejak normalne :)
Co je ta tabulka „hlavni“ ??
Posli sem sql dump (vcetne par radku dat..)
- konva
- Člen | 88
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
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
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