Mysql – získání dat z relace, klíče se nepárují
- mroz123
- Člen | 6
Ahoj,
Mám v databázi tabulku „user“, kde mám sloupce
id,username,password,profil_id
profil_id odkazuje na PK v tabulce „profil“.
tabulky jsou innodb a cizí klíče jsou nastaveny správně.
V aplikaci pak je
$row = $this->database->table('user')->where('username', $username)->fetch();
čímž získám ActiveRow.
Nyní chci získat položku z tabulky „profil“ přes relaci ale tam se to
chová divně.
$row->profil->id
vypíše exception: Cannot read an undeclared column „profil“.
$row->ref('profil')->id
vypíše exception: Trying to get property of non-object (neboť $row->ref(‚profil‘) je null)
$row->ref('profil_id')->id
vypíše správnou hodnotu – ačkoliv se jedná o výkřik do tmy neboť podle dokumentace má stačit „profil“ ne „profil_id“
$row->ref('profil','profil_id')->id
vypisuje hodnotu správně jak se dá očekávat.
Jak je to tedy s tím párováním klíčů? dokumentace odkazuje na joining expressions ale tam je 404, bylo párování klíčů vyhozeno z frameworku a je tedy možné k relacím přistupovat pouze přes ref(), nebo tam je zase nějaká další klička?