Ref vybírá chybnou tabulku
- jtousek
- Člen | 951
Jde zřejmě o tentýž problém jako zde, jen pro metodu ref.
Mám tabulky (zjednodušeně):
client
- status_id - FK na status klienta
- id, jméno, příjmení etc.
client_status
- id, name (název stavu)
application (žádost)
- client_id - FK na klienta
- client_status_id - FK na TEHDEJŠÍ status klienta (z doby podání žádosti - proto jej zde ukládám "duplicitně")
- datum, stav žádosti, etc.
Když pak volám $application->client->lastname tak mi to hodí chybu že $client_status->lastname neexistuje – z toho vyvozuji, že místo tabulky client mě to odkázalo na tabulku client_status. Problém bude zřejmě zde.
Editoval jtousek (5. 10. 2012 11:41)
- jtousek
- Člen | 951
Ahááá už vím, čím to bylo. :-D Ono to totiž ten FK client_id nemělo v cache zatímco ten client_status_id ano. A protože client_status_id měl ten správný prefix („client“) tak se nezavolala metoda reloadForeignKeys – ta si nalezené klíče seřadí pomocí uksort takže by to nejdříve našlo sloupec client_id a k chybě by nedošlo. Posuď sám, jestli to je bug nebo ne. ;-) Kdybych tehdy smazal cache, což mne nenapadlo, chyba by pravděpodobně zmizela.
Editoval jtousek (5. 10. 2012 12:47)