Více odkazů do stejné tabulky v database table

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

Mám tabulku zpráva a v ní kromě jiného 2 cizí klíče na tabulku uživatel (od a komu). Můžu použít Nette\Database\Table pro tento případ? Podle toho, co zatím vím, v nette by se oba atributy měly jmenovat uzivatel_id, ale já je potřebuju rozlišit, např. uzivatel_id_od a uzivatel_id_pro

studna
Člen | 181
+
+2
-

Pokud použiješ Nette\Database, tak názvy sloupečků s relacemi musí být defaultně ve tvaru *_id. Takže jednoduše si pojmenuj jeden sloupeček jako odesílatele (sender_id) a druhý jako příjemce (recipient_id nebo receiver_id).

Editoval studna (8. 3. 2015 12:47)

James07
Člen | 41
+
0
-

Takže na výsledném názvu atributu + *_id nezáleží? Záleží pouze na cizích klíčích?

Editoval James07 (8. 3. 2015 13:00)

studna
Člen | 181
+
0
-

Přesně tak. Tedy pokud používáš defaultní DiscoveredConventions.

David Matějka
Moderator | 6445
+
0
-

Neni to tak presne – nemusi to byt *_id. Discovered reflection hleda retezec, kterym se dotazujes, ve sloupeckach s fk. Bude-li se tedy sloupecek jmenovat cokoliv_sender_foo_id, bude fungovat (skoro) jakykoliv substring – tedy treba sender.