YII ::应用程序() - >用户> ID; 获取用户名而不是ID

Sym*_*ony 15 yii

我试图获得用户ID但到目前为止没有运气...

echo Yii::app()->user->id;

echo Yii::app()->user->getId();

返回奇怪的用户名.知道什么是错的吗?

Rus*_*lex 9

Yii :: app() - > user默认返回组件CWebUser.

如果要获取有关用户的其他信息,则需要扩展此组件.

WebUser.php在您的components文件夹中创建一个文件.(我的例子如下)

class WebUser extends CWebUser {
    /**
     * Gets the FullName of user
     *
     * @return string
     */
    public function getFullName()
    {
        return $this->_model->first_name . ' ' .$this->_model->last_name;
    }
}
Run Code Online (Sandbox Code Playgroud)

在配置文件中查找部分

'components'=>array(
'user'=>array(
'class'=>'WebUser'
)
)
Run Code Online (Sandbox Code Playgroud)

如果没有这个部分,只需创建它.并将'class'=>更改为WebUser'.


Afn*_*hir 8

你应该在用户身份中有getId函数

  • 如上所述,您需要在身份类中实现getId().它在这里解释:http://www.yiiframework.com/doc/guide/1.1/en/topics.auth#defining-identity-class (2认同)