Neúplný výpis postupně skládané matice v šabloně

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

Ahoj všichni.
Už pár dní se tu hrabu se zajímavým jevem. Zkusím to zjednodušit a popsat.
Je dám a model:

<?php
 class Model extend Object{
   ...deklarace ...
   private $someData;
   public function __concruct{
     parent::_construct();
     $this->LoadDB(); //načte tabulku do $somedata

   }
   public function SaveDB(){
	... uloží db...
   }
   private function Count(){
     $this->fceA();
     $this->fceB();
	... etc...
   }
}
?>

a presenter v startup načte model. Pak při Ajaxu se handlerem zavolá zavolá fce a přidá se řádek a vyplní se sloupce A a B, sloupce C a D jsou null do $somedata a zavolá $model->count(). fcaA a B dopočítají hodnoty celé tabulce, všech sloupců, včetně nového řádku. Invaliduje se snippet a shutdown zavolá $model->saveDB() a teď to přijde :)
Šablona vykreslí vše včetně nového řádku, ale v novém řádku jsou jen data zadaná při vytváření řádku (tedy sloupec A B=data) a ty z fceA a B ne (C D=null). Ale v DB je nový řádek uložen kompletní a při refresh stránky už jsou i zobrazené…
Neptejte se proč to mám tak složitě udělané, zkusil jsem vytáhnout jen podstatné prvky projektu…
Děkuji za jakékoliv nakopnutí k řešení… :)

Editoval Rampa (18. 8. 2010 14:56)

Opolo.
Člen | 11
+
0
-

Rampa napsal(a):
Šablona vykreslí vše včetně nového řádku, ale v novém řádku jsou jen data zadaná při vytváření řádku (tedy sloupec A B=data) a ty z fceA a B ne (C D=null). Ale v DB je nový řádek uložen kompletní a při refresh stránky už jsou i zobrazené…
Děkuji za jakékoliv nakopnutí k řešení… :)

predpokladam ze data ziskas volanim $this->LoadDB(), ale ziskas je, nez s daty manipulujes. Cili znovu zavolat $this->LoadDB(); po funkcich A a B?

Rampa
Člen | 65
+
0
-

LoadDB se volá v constructoru a tahá data z databáze. Kdybych to zavolal znovu po funkcích, tak mi to přepíše už přepočítaná data těmi neaktuálními ze serveru…
Dělám to LAZY, takže o natahování a ukládání dat se nestarám. Load se volá v construct modelu a save se vola v shutdown presenteru.

Editoval Rampa (19. 8. 2010 14:51)