Jak udělat, aby prezenter měl dva modely? Nette 2/ PHP 5.3
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Mikulas Dite
- Člen | 756
Rozhodně neplatí, že co presenter to jeden model a už vůbec není pravda, že model pracuje s jednou tabulkou.
Tohle se nedá moc dobře popsat, ale například v examples na githubu se dá vyčíst, jak se s modely pracuje.
Jednoduše je to prostě
public function renderDefault()
{
$this->template->foo = $model1->bar(); // prace s prvnim modelem
$this->temlpate->baz = $model2->quz(); // prace s druhym modelem
}
- Ot@s
- Backer | 476
Obecně to řeším tak, že do konkrétního modelu „nahrnu“ vše, co spolu nějak logicky souvisí (např. katalog zboží, resp. metody které potřebuji pro přístup k datům – obvykle se pracuje s více tabulkami). Pokud by toho mělo být v jednom modelu moc (což u větších projektů bývá), tak to ještě někdy rozdělím podle modulů (většinou taky něco tématicky seskupují/obsluhují).