Pripojeni z modelove tridy k DB
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Azim
- Člen | 41
Zdravim vsechny a obracim se na vas s dotazem.
V DB mam tabulku zakazniku, v presenteru se k ni dostavam pres $this->context->createZakaznik()->…, obsah modelu je standardni, tj.
<?php
use Nette\Database\Connection,
Nette\Database\Table\Selection;
class Zakaznik extends Selection
{
public function __construct(Connection $connection)
{
parent::__construct('zakaznici', $connection);
}
}
?>
Potrebuji vsak zjistovat, zda ma zakaznik v dany den narozeniny, vytvoril jsem si teda tridu ModelZakaznik:
<?php
class ModelZakaznik
{
private $data;
public function __construct(\Nette\Database\Table\ActiveRow $zakaznik)
{
$this->data = $zakaznik;
}
public function __get($name)
{
return $this->data->$name;
}
public function __set($name, $value) {
$this->data->$name = $value;
}
public function maNarozeniny()
{
...
}
}
?>
Vse funguje jak ma, instance teto tridy tvorim takto
<?php
$tmp = $this->context->createZakaznik()->get(id);
$zakaznik = new ModelZakaznik($tmp);
?>
Problem nastava, kdyz chci tridu ModelZakaznik doplnit o zjistovani, kdy ma
zakaznik svatek. Svatky mam ulozene v DB a nevim, jak k ni z teto tridy
pristoupit.
Dekuji za precteni a rady.
- Filip Procházka
- Moderator | 4668
Ne, ne, ne! Prosím, ne! Přečti si nejprve nový nový quickstart, kde je lepší způsob jak pracovat s modelem nad databází.