0

如何将Yii:app()->user绑定到模型User。有一个连接类型:Yii::app()->user->getUser()

例如,我想获取当前登录用户的电子邮件:

Yii::app()->user->getUser()->email;

我阅读了 wiki 帖子:http ://www.yiiframework.com/wiki/80/add-information-to-yii-app-user-by-extending-cwebuser-better-version/

4

2 回答 2

2

组件中的 MyWbuser.php:

class MyWebUser extends CWebUser{

    private $_profile = null;
    public $loginUrl='/';

    public function init(){
       parent::init();
       if(!$this->getIsGuest()){
            $this->_profile = User::model()->findByPk($this->getId());
       }
    }
    public function getProfile(){
       return $this->_profile;
   }
}

在 config.php 中:

    'user' => array(
        'class' => 'MyWebUser',
    )

然后你可以使用:

Yii::app()->user->profile->name
于 2013-06-20T07:58:42.273 回答
1

尝试将此代码添加到您的用户身份验证功能

$this->setState('email',$this->email);

并用于在任何地方访问该电子邮件,如图所示

Yii::app()->user->getState('email');
于 2013-06-20T07:37:45.417 回答