Just one addition: The "unlink"-error is the same when I use the AutoCache-Plugin instead of the component-logic above...
On Feb 26, 6:50 pm, LDSign <[email protected]> wrote: > Hi > > I have ran into a problem which drives me crazy :( > > Ive a component which is used on every page to build the navigation for > every individual user. The navigation is database driven so caching is a > good idea - so far so good > > The cache is built in the startup-callback of the component like so > (package and agent is just an example): > > > public function initialize(Controller $controller) { > > parent::initialize($controller); > > $package = Cache::read($this->Auth->user('id'),'packages'); > > > if (!$package) { > > $agent = ClassRegistry::init('Agent')->find('first',array('conditions' => > > array('Agent.id' => $this->Auth->user('Company.agent_id')))); > > > if (!empty($agent)) { > > Cache::write($this->Auth->user('id'), $agent['Package'],'packages'); > > } > > } > > } > > This works as expected (if the cache file does not exist it would be > generated). > > Now, I would like to push the creation of the cache manually when a > data-change happens. So Ive put an afterSave-callback in the model: > > public function afterSave($created) { > > > Cache::clearGroup('packages'); > > } > > This works too if I test this seperatly. But when I use this "together" > with the component-callback I will get an error-message: > > *Warning* (2): > unlink(C:\xampp\htdocs\ebsst\tmp\cache\packages\ebsst_package_73): Permission > denied [*CORE\Cake\Cache\Engine\FileEngine.php*, line *368*] > > The cache-file is not cleared though. I guess the file is locked by the > file-system (Xampp on Windows 7) through the component. I am not sure about > the order of these callbacks and how they interfere between models and > components. So ive tried different callbacks in both - but no luck. > > Do you have a hint to solve this problem or is this a complete false approach? > > Thanks, > Frank -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
