Problém s vypsáním dat z DB
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Manny7
- Člen | 67
Ahoj,
řeším jednoduchý výpis dat z databáze, zkouším to takto:
PRESENTER:
class NazevPresenter extends \BasePresenter
{
public function actionShow()
{
$this->template->todos = $this->model->findAllTodos();
}
public function renderShow() {
$todos = $this->model->findAllTodos();
$this->template->todos = $todos;
}
public function getModel() {
if(!isset($this->nazevManager))
$this->nazevManager = new \NazevManager;
return $this->nazevManager;
}
...
}
MODEL
class NazevManager
{
public function findAllTodos($order = NULL, $where = NULL, $offset = NULL, $limit = NULL)
{
return dibi::query(
'SELECT * FROM [specs]',
'%if', isset($where), 'WHERE %and', isset($where) ? $where : array(), '%end',
'%if', isset($order), 'ORDER BY %by', $order, '%end',
'%if', isset($limit), 'LIMIT %i %end', $limit,
'%if', isset($offset), 'OFFSET %i %end', $offset
);
}
...
}
ŠABLONA
{if count($todos) > 0}
<table>
<tr><th> </th><th>Úkol</th><th>Přidáno</th></tr>
<tr n:foreach="$todos as $todo">
<td>{$todo->name} (<a href="{link delete!, $todo->id}">smazat</a>)</td>
</tr>
</table>
{/if}
Ale v místě, kde by se měl objevit výpis dat, mi vyskočí chybová hláška **
Notice: Undefined variable: todos in /var/www/acl/app/temp/c-Nette.Template/_352824bef54ea7516659851f0fbe1a86.default.phtml.php on line 74**
Temp jsem mazat zkoušel, neporadili byste prosím, v čem by mohla být
chyba?
(k databázi připojený jsem)
Editoval Manny7 (4. 8. 2010 10:56)