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
+
0
-

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
+
0
-

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í.

Azim
Člen | 41
+
0
-

Tak jsem svuj model upravil podle noveho quickstartu, nicmene na problemu to nic nezmenilo. Jak lze v modelove tride pristupovat k jine modelove tride?

redhead
Člen | 1313
+
0
-

Prostě si její instanci předej konstruktorem..

viz https://doc.nette.org/…introduction