I want to find the total score of the loggedin user & want to cache it.
My code is:
$dependency = new CDbCacheDependency('SELECT MAX(id) FROM tbl_points_log where user_id='.Yii::app()->user->id);
$sql='SELECT SUM( point) as user_point FROM tbl_points_log left join tbl_action on tbl_action.id = tbl_points_log.action_type_id where user_id='.Yii::app()->user->id;
$user_point = Yii::app()->db->cache(1000, $dependency)->createCommand($sql)->queryAll();
Is the above code correct?
Do I have to make some changes in the config file to make query caching working? I just added
'cache' => array(
'class' => 'CDbCache'
),
under components
var_dump($dependency->getHasChanged());
always evaluates to true, even if i did no changes into database, so why is that?
P.S Dont bother about the SQL statement. Its working!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…