Reputation: 521995
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.)
Upvotes: 3
Views: 9085
Reputation: 917
use Cache::clearCache();
, or use Cache::delete();
to delete only the exact file you no longer want.
function afterSave($created) {
parent::afterSave(false);
Cache::delete('left_menu_eng');
}
Upvotes: 0
Reputation: 521995
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.)
Upvotes: 3