Narazil jsem na něco, co nevím jak správně pojmenoval, ale doufám, že se mi povede vysvětlit
- Webster.K
- Člen | 212
Zdravím všechny a předem se omlouvám za název vlákna, který rozhodně není vypovídající o tom, co potřebuji. O co jde. Z databaze přes $this->database->table(‚tabulka‘)->fetchAll(); samozrejmne s limitem, where a dalsima ziskavam data, přibližně 10ti řádků. Jde mi o to, že toto mám ve funkci v modelu, která toto všechno vrací a přes presenter se to do šablony dostává přes $this->template->radek = $this->funkceZModelu->volaniFunkceCoVraciData(); a v šabloně klasicky pres foreach $radek as $sloupec vykresluji. Nicméně v jednom z těch prvků, např. $sloupec->sloupecekTabulky potřebuju změnit hodnotu na základě výpočtu, vždy se to bude týkat jen konkrétního sloupečku, bohužel pro každého uživatele je hodnota jiná. Jak ji dopočítat? Rozbalit to hned v té první funkci foreachem a pak vracet dvoudimenzní pole? Nebo v šabloně nějak zavolat funkci co je definovana v modelu co to přeloží do formy co potřebuji? To by znělo nejvíc logicky, ale jak na to? Doufám že jsem to napsal alespoň trochu srozumitelně a předem děkuji :)
- Ondřej Kubíček
- Člen | 494
pokud se to nedá spočítat přímo na urovni db, tak bych si v modelu ty data projel, upravil jak potřebuju a vrátil svoje nové pole
- Ondřej Kubíček
- Člen | 494
tak ono v šabloně samozřejmě zavolat svoji funkci můžeš, ale spíš bys ty data měl upravovat dřív a v šabloně jen vypsat
- CZechBoY
- Člen | 3608
Udělal bych si novej objekt, kterej bych vracel z fasády.
Ve zkratce
class Fasada
{
public function dejMiData($idUzivatele, ...)
{
$radek = $this->funkceZModelu->->volaniFunkceCoVraciData();
$spocitanaHodnota = $this->pocitadloHodnoty->spocitejHodnotu($idUzivatele, $radek);
return new NovejObjekt($radek, $spocitanaHodnota);
}
}