2012-02-13 7 views
1

ユーザーの最終ログアウト時刻をYiiフレームワークのDBに保存しようとしています。 私はとしてのWebUserを持っている:私はテストするために、varchar型にlogOutDateTimeデータ型を設定している、と私は毎回ユーザーを想定して今のユーザーの最新のログアウトを保存

// application components 
'components'=>array(
    'user'=>array(
     // enable cookie-based authentication 
      'class'=>'WebUser', 
      'allowAutoLogin'=>true, 

    ) 

<?php 

// this file must be stored in: 
// protected/components/WebUser.php 

class WebUser extends CWebUser { 



    public function afterLogout() 

    { 
     $user=user::Model(); 
     $user->logOutDateTime='TEST'; 
     $user->saveAttributes(array('logOutDateTime')); 
     parent::afterLogout(); 
    } 

} 
?> 

とのconfig \のmain.phpに、私はこれらの行を持っていますログアウトすると、'TEST'をデータベースに書き込む必要がありますが、何もしません。 どこが間違っていましたか?

答えて

2

私はafterLogout(とは思わない)、まだのYii ::アプリ()がある - >ユーザ設定を、私は(未テスト)のようなものにします:

public function beforeLogout() 
{ 
    if (parent::beforeLogout()) { 
     $user = User::model()->findByPk(Yii::app()->user->id); // assuming you have getId() mapped to id column 
     $user->logOutDateTime='TEST'; 
     $user->saveAttributes(array('logOutDateTime')); 
     return true; 
    } else { 
     return false; 
    } 
} 
1
$user = user::Model(); 

次のようになります。

$user = user::Model()->find(/* model_conditions */); 
関連する問題