Update sloupce jine tabulky v databazi
- makzak
- Člen | 4
Ahoj,
chtel bych pozadat o pomoc s databazi. Mam 2 nasledujici tabulky:
Users
- id
- name
- login
Test
- id
- users_id
- sloupec
a volani:
$selection = $this->Db->table('users')->select('users.id,name,login,password,regcode,:test.sloupec');
$selection->get($id)->update(array(":test.sloupec" => "nova_hodnota")); // neaktualizuje data
Volani skonci s chybou „Unknown column ‚test.sloupec‘“, coz je pochopitelne, protoze vygenerovany SQL dotaz:
UPDATE `users` SET `test.sloupec`='xxx' WHERE (`users`.`id` = 6)
je chybny (test.sloupec neni v tabulce users).
A tedy k otazce: Jak z aktualniho kontextu $selection updatuji sloupec „sloupec“ v tabulce „test“?
Predem diky za odpoved
- Azathoth
- Člen | 495
Chápu to správně, že máš jednosměrný vztah, takže user neví o tom,
v jakém je testu?
Pokud by user o testu věděl, tak by mělo fungovat to, že bys získal přes
ref z usera test a ten bys potom upravil, ale takhle…to vypadá, že bys
musel sáhnout do tabulky testů, vytahat všechny testy, které mají id
požadovaného usera a ty teprve upravit…
Takže něco jako $selection->where(‚user-id‘, $id); a potom upravíš tu
selection.
Editoval Azathoth (12. 9. 2014 0:12)