如何在Yii中从模型中的UserIdentity组件调用setState


How to call setState from UserIdentity component in a Model in Yii

当用户登录到我的Yii应用程序时,我在UserIdentity类的authenticate函数中设置了以下属性:

$this->setState('nickname', $this->nickname);
$this->setState('thumb', $this->thumb);

我在视图的标题栏上显示昵称

Yii::app->user->nickname

现在我有了一个功能,用户可以编辑昵称。所以当用户编辑它时,我也想把它设置在标题栏上。为此,我必须在模型或控制器中调用setState。

如何在模型中设置Yii::app()->user的昵称?

您可以再次设置:

Yii::app()->user->setState('nickname','NEW VALUE');

让它使用:

$nickname=Yii::app()->user->getState('nickname');
$model->nickname=$nickname;
$model->save();