vazba pres nazvy primarnich a cizich klicu id<->tabulka_id
- zac24
- Člen | 41
pokud chci pohodlne joinovat v nette database, bylo mi receno ze musi
primarni klic nest jmeno id a cizi klic jine tabulky jmeno prvni tabulky plus
retezec _id
mozna vam tento pozadavek pripada normalni, ale prosimvas pekne nelze ho nejak
efektivne obejit ? Totiz je docela nesmysl mit tabulku uzivatele pak tabulku
knihy a v nich sloupec autor_id a korektor_id oba vazane na tabulku uzivatele
prejmenovat na uzivatele_id coz jak jiste uznate ani nedava zadny smysl.
V ramci tabulky knihy mam definovany cizi klice takze je zjevne ze jde o vazbu
na uzivatele, proc tuto informaci nette neprebira odsud a trva na pouziti nazvu
uzivatele_id ? Tohle mi pripada opravdu nevyzrale, nebo neco chapu a delam
naprosto spatne?
- Unlink
- Člen | 298
nette/database štandardne pracuje na základe väzieb, ktoré sú
v databáze realizované pomocou cudzích kľúčov (pokiaľ používaš
discoverd conventions).
Dané obmedzenia ktoré popisuješ sú tuším pri použití static
conventions.
Ak použiješ nette database table tak tvoj požiadavok, daj knihy kde korektor je ten a autor ten by vyzeral nejako tako:
$context->table('books')->where(['autor.name' => 'Meno Autora', 'korektor.name' => 'Meno Korektroa']);
Viac info v dokumentácii: https://doc.nette.org/…ase/explorer