فکر میکنم منظور من رو متوجه نشدید. مشکل من با متد CActiveRecordCache هستش.
public CActiveRecord cache(integer $duration, CCacheDependency|ICacheDependency $dependency=NULL, integer $queryCount=1)
وقتی CACtiveDataProvider رو به این صورت به کار می بریم:
CActiveDataProvider(Post::model()->cache($duration, $dependecy, 2) . . .
. . .
یعنی coueryCount رو برابر 2 قرار میدیم، یک کوئری کش برای گرفتن count جهت pagination و یک کوئری کش برای واکشی رکوردها. اگر count برابر 0 باشه. کوئری کش دوم اجرا نمیشه و دستوری بعدی مثل این:
$posts = POST::model()->findAll()
هم از کش استفاده میکنه. در حالی که ما نمیخوایم از کش استفاده بشه. منوجه شدید؟
$queryCount |
integer |
number of SQL queries that need to be cached after calling this method. Defaults to 1, meaning that the next SQL query will be cached. |
البته فکر کنم این کد مشکل رو حل کنه: (بعد از CACtiveDataProvider)
Yii::app()->db->cache()->queryCachingCount = 0