2009-07-26 11 views
3

documentedでも、モデルが更新されたときにCakePHPは自動的にビューキャッシュをクリアしますが、そうではありません。なぜCache :: clear()は私の(view)キャッシュをクリアしませんか? (CakePHP)

キャッシュされたビューで使用されるモデルが変更された場合、Cakeはキャッシュされたビューをクリアすることを覚えておくことが重要です。たとえば、キャッシュされたビューでPostモデルのデータが使用され、PostにINSERT、UPDATE、またはDELETEクエリが実行された場合、そのビューのキャッシュはクリアされ、次の要求で新しいコンテンツが生成されます。

手動で提案されたCache::clear()メソッドを呼び出しても、何もしません。 Cakeでビューキャッシュをクリアするにはどうすればいいですか? (バージョン1.2.2.8120のようリポジトリを見ても、0.8256は、この問題を持っている必要があり、コミットされます。)

+0

を削除したくないファイルを削除し、私は私の焼いたインデックスビューでクライアント側のキャッシュに悩まされていました。ファイヤーフォックス、サファリ、IEはすべて問題だった、クロムはなかった。私はコントローラで$ this-> disableCache()を呼び出すことで修正しました。 – the0ther

答えて

3

使用clearCache()、おそらく自動的にモデルafterSaveコールバックで:

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

(他にも利用可能な解決策を記載してください。これは私が見つけることができる唯一のものです)

+0

Azizが他の答えで示唆したように 'parent :: afterSave(false);'も使用しないでください。 – caesarsol

0

Cache :: clearCache();を使用してください。 か正確にあなたがこれまでおそらく関連

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

「削除したくないファイルを正確に削除する」とはどういう意味ですか? – caesarsol

関連する問題