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!
the best way to find out that query results come from cache or database is that to turn on logging as follow and see the results