Nelze přistoupit k jiné tabulce přes cizí klíč
- ondrapech
- Člen | 49
Aho, řeším problém. Nejde mi přispoupit k hodnotě zjiné tabulky přes
cizí klíč.
Klíč mám nastavený správně, když na jiných místech vypisuji ve view to
samé tak to funguje, i když ten klíč mám ještě přes další tabulku ale
v tomto případě mi Nette vyhazuje Nette\MemberAccessException (Cannot read
an undeclared column ‚users‘.)
$defaultDealers = [];
$dealers = $this->dealersModel->getDealers();
foreach ($dealers as $dealer) {
$defaultDealers[$dealer->id] = $dealer->users->full_name;
}
$form->addSelect('dealer_id', 'Obchodní manažer', $defaultDealers);
V tabulce dealers je cizí klíč na user_id což je primární klíč
tabulky users a ta obfahuje full_name, kterou se snažím přečíst.
Nemáte někdo tušení, proč mi to nejde?
Když použiji celou funkci
$dealer->ref('is_users', 'user_id')->full_name;
Tak to funguje. Ale nechápu proč to jinde funguje úplně stejně i bez
toho?
Moc děkuju za rady
- David Matějka
- Moderator | 6445
Ahoj, ten identifikator, kterym se odkazujes na tu tabulku, musi byt soucasti
nazvu sloupecku s FK. ten sloupecek se jmenuje user_id
, ale
pouzivas tam users
, takze
pouzij $dealer->user->full_name