views:

683

answers:

3

Even though it's documented that CakePHP will automatically clear the view caches when a model is updated, it doesn't.

It is important to remember that Cake will clear a cached view if a model used in the cached view is modified. For example, if a cached view uses data from the Post model, and there has been an INSERT, UPDATE, or DELETE query made to a Post, the cache for that view is cleared, and new content is generated on the next request.

Even calling the suggested Cache::clear() method manually does nothing. How do I clear the view cache in Cake?

(As of version 1.2.2.8120. Looking at the repository commits, even .8256 should have this problem.)

A: 

Use clearCache(), possibly automatically in a model afterSave callback:

// model file:
function afterSave($created) {
    clearCache();
}

(Please also document other available solutions, this is the only one I could find.)

deceze
A: 

No luck! clearCache(); does not work either..

adnan
A: 

use Cache::clearCache(); or delete exactly file you don't want to delete

function afterSave($created)
{
  parent::afterSave(false);
  Cache::delete('left_menu_eng');
}
Aziz