Notice: Undefined property: NRow::$id v PHP5.2.13
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- netrunner
- Člen | 7
Narazil jsem na chybu, který znepříjemňuje práci s databází. Jde o nette 2 stable na PHP5.2.13 s prefixy. Jednoduchá stránka postavená na sandboxu.
<?php
class HomepagePresenter {
private $model;
public __construct() {
$this->model = ...;//získání připojení k modelu a databázi
//tabulka Test:
//id, value
//1, 'text'
}
public function renderDefault() {
$this->template->value = $this->model->foo(1);
//nalezení záznamu 1 z tabulky Test
}
}
?>
Při spuštění spadne stránka do Laděnky:
Undefined property: NRow::$id
Po zavření Laděnky se správně zobrazí ‚text‘ z tabulky a také spousta Notice:
Notice: Undefined property: NRow::$id in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$select_type in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$table in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$type in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$possible_keys in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$key in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$key_len in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$ref in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$rows in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Notice: Undefined property: NRow::$Extra in C:\wwwroot\test\sandbox\libs\Nette\Database\Row.php on line 42
Při nastavení produkčního módu v configu se totéž vypisuje do logu.
Shodný kód pod nette 2 PHP5.3.5 se jmennými prostory, ale i prefixy funguje bez problémů.
Editoval netrunner (23. 2. 2012 11:49)