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ž…