activeRow->ref() háže Trying to get property of non-object
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- castamir
 - Člen | 629
 
Modelový příklad berte s rezervou, chci jen demonstrovat můj problém:
Mám tabulku Users se sloupcem title odkazující na tabulku UserTitles. Následující kód se bezchybně provede pouze s promazaným cache, poté již háže NOTICE Trying to get property of non-object. Témat na fóru se stejným problémem je povíc, nicméně jsem řešení nenašel.
    public function isFemale($id) {
        $user = $this->context->createUsers()->find($id)->fetch();
        return in_array($user->ref("title")->title, array("Mrs.", "Ms."));
    }
Zajímavé je, že na produkčním režimu nic podobného nehlásí.
EDIT: používám Nette\Database
Editoval castamir (28. 6. 2012 19:11)

- castamir
 - Člen | 629
 
Trošku zdlouhavé, ale funkční řešení:
public function isFemale($id) {
    $user = $this->context->createUsers()->find($id)->fetch();
    $row = $user->ref("title");
    return in_array($row["title"], array("Mrs.", "Ms."));
}
V cache se objekt mění na pole, což je zpětně nekompatibilní… co už…