Nefunkční joinování (cizí klíče)
- Martk
- Člen | 661
Už nevím čím to může být způsobené, proč pořád Tracy hází chybu:
No reference found for $users->roles
Obě tabulky jsou innoDb. Pro představu tabulek přikládám obrázek z MySQL Workbench.
Přikládám ještě KEY_COLUMN_USAGE z information_schema
CONSTRAINT_CATALOG - def
CONSTRAINT_SCHEMA - d63812_test
CONSTRAINT_NAME - users_ibfk_2
TABLE_CATALOG - def
TABLE_SCHEMA - d63812_test
TABLE_NAME - users
COLUMN_NAME - role_id
ORDINAL_POSITION - 1
POSITION_IN_UNIQUE_CONSTRAINT - 1
REFERENCED_TABLE_SCHEMA - d63812_test
REFERENCED_TABLE_NAME - roles
REFERENCED_COLUMN_NAME - role_id
Cache jsem zkoušel mazat a bez úspěchu.
Ještě SQL dotaz
$this->db->table('users')->where('users.user_id', $login)->select('users.*, roles.*')->fetch();
$this->db->table('users')->where('users.user_id', $login)->select('users.*, :roles.*')->fetch();
Vyzkoušel jsem různě kombinovat, hledat na internetu, nic nepomohlo.
Třídy, které náleží databázím jsem vůbec neměnil.
- David Matějka
- Moderator | 6445
pro smer „to one“ neni dulezity nazev cilove tabulky, ale nazev
spojovaciho sloupecku (respektive substring), takze misto roles
pouzij pouze role
, vice viz doc: https://doc.nette.org/…ase/explorer