Beispiel #1
0
    public function execute(){
        $cache_key = MemoryObjectStore::gen_key(array($this->build_sql(), $this->build_sql_values()));
        if(!$this->reload)
            $cache = MemoryObjectStore::get($cache_key);

        if (!empty($cache)) {
            return $cache;
        } else {
            $result = parent::execute();
            if(is_array($result)){
                foreach ($result as $result_key=>$result_val) {
                    foreach ($this->additions as $key => $val) {
                        $result[$result_key]->$key = $val;
                    }
                }
            } else {
                foreach ($this->additions as $key => $val) {
                    $result->$key = $val;
                }
            }
            
            MemoryObjectStore::put($cache_key, $result);
        }
        return $result;
    }