Nelze přistoupit k jiné tabulce přes cizí klíč

před 9 měsíci

ondrapech
Backer | 49
+
0
-

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

před 9 měsíci

David Matějka
Moderator | 6031
+
0
-

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