Přístup modelu k platným/neplatným řádkům tabulek

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
emil
Člen | 9
+
0
-

Mám fungující společný model pro backend(=admin) i frontend aplikace. Zatímco v adminu potřebuji pracovat se všemi záznamy vybrané tabulky bez ohledu na jejich platnost, na frontendu potřebuji pracovat „automaticky“ jen s těmi platnými (tj. něco v duchu ...->where('valid=1')). Lze toto na úrovni modelu/repository „automatizovat“? Jak v obecnosti řešíte tento problém? Díky za tipy.

hrach
Člen | 1836
+
0
-

Použij view a poded reflexi, ktera pro view bude vracet to stejne jako pro zdrojovou tabulku.

emil
Člen | 9
+
0
-

hrach napsal(a):

Použij view a poded reflexi, ktera pro view bude vracet to stejne jako pro zdrojovou tabulku.

Díky za radu. Jen tomu úplně nerozumím. View jako CREATE VIEW v SQL? Moc tomu nerozumím. To bych pak musel po inicializaci objektu modelu nastavit příznak backend/frontend, je to tak? Díky za trpělivost…

emil
Člen | 9
+
0
-

emil napsal(a):

hrach napsal(a):

Použij view a poded reflexi, ktera pro view bude vracet to stejne jako pro zdrojovou tabulku.

Díky za radu. Jen tomu úplně nerozumím. View jako CREATE VIEW v SQL? Moc tomu nerozumím. To bych pak musel po inicializaci objektu modelu nastavit příznak backend/frontend, je to tak? Díky za trpělivost…

Pomůže někdo? :-(
Díky.

castamir
Člen | 629
+
0
-
class AdminPresenter {
	protected $fooModel;
	public function injectFoo(FooModel $foo){
		$this->fooModel = $foo;
	}
	public function renderDefault(){
		$this->template->foo = $this->fooModel->getData($condition);
	}
}

class FooModel {
	public function getData($condition){
		return $this->getTable()->where($condition);
	}
}
class FrontPresenter {
	protected $fooModel;
	public function injectFoo(FooFrontModel $foo){
		$this->fooModel = $foo;
	}
	public function renderDefault(){
		$this->template->foo = $this->fooModel->getData($condition);
	}
}

class FooFrontModel extends FooModel {
	public function getData($condition){
		return parent::getData($condition)->where('valid=1');
	}
}

Editoval castamir (6. 5. 2013 9:58)