我有一个问题,它可能是一个小问题,但我无法找到解决方案。 Yii:app() - > user-> getId()或Yii:app() - > user-> id不返回值。它只是返回空结果。但我在我的UserIdentity类中设置了id。
在我的UserIdentity类中我就是这个,
public function getId()
{
return $this->id;
}
我在authenticticate()函数中设置了id。如果我在那里显示它显示id,但不在getId()函数中。请帮助我。
提前致谢。
Dhanendran Rajagopal。
答案 0 :(得分:0)
像这样重构你的getId()函数!
public function getId(){
return $this->getState('id');
}
当您在Identity中设置用户状态时,就会开始此问题。您尝试设置状态,然后获取属性!
答案 1 :(得分:0)
不确定您是否使用标准的UserIdentity类,但在标准的id
中是一个私有属性,在Yii约定中,私有属性在它们前面有_
,所以它就像这样:
public function getId()
{
return $this->_id;
}
由于它是私有变量,因此无法使用Yii::app()->user->_id
访问它。 getId()
函数是一个神奇的函数,当您运行Yii::app()->user->id
时,它会看到没有id
属性,因此查找名为getId()
的函数并运行它(如果存在)。
如果您使用的是标准课程,则需要按照以下评论中的说明进行更改:
$this->_id = $user->user_id //underscore added before id