public function getMenu() { $wynik=$this->db->query("SELECT id,nazwa FROM marki ORDER BY nazwa ASC"); return $wynik->result(FALSE); }
Kontroler:
public function menu(){ $this->template->menu=new View('menu'); $menu_cache=$this->cache->get('menu_cache'); if(!$menu_cache){ $model=new Menu_Model; $wynik=$model->getMenu(); $this->cache->set('menu_cache',$wynik); $this->template->menu->menu=$wynik; } else { $this->template->menu->menu=$menu_cache; } }
I widok:
foreach($menu as $row) { }
Tyle, że to teraz nie działa. Działa dopiero gdy wyniki zwrócę za pomocą result_array(), a w widoku będę miał zamiast tablic, obiekty. Co zrobić aby powyższy skrypt zadziałał? Wolałbym nie przerabiać modelów i widoków gdy będę sobie chciał dodać gdzie indziej obsługę cache na stronie.