ログインしたユーザーの合計スコアを見つけてキャッシュしたい。私のコードは次のとおりです。
$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();
上記のコードは正しいですか?クエリキャッシュを機能させるには、構成ファイルにいくつかの変更を加える必要がありますか?追加しました
'cache' => array(
'class' => 'CDbCache'
),
コンポーネントの下
var_dump($dependency->getHasChanged());
データベースに変更を加えなかったとしても、常にtrueと評価されますが、それはなぜですか?
PSSQLステートメントについて気にしないでください。その動作!