Yii2,如何将登录用户的用户名自动保存在另一个表中?

Posted

技术标签:

【中文标题】Yii2,如何将登录用户的用户名自动保存在另一个表中?【英文标题】:Yii2 , How to save the logged in user's username in another table automatically? 【发布时间】:2017-03-16 02:53:52 【问题描述】:

在 yii2 中,我正在做的是用户在一个表中插入一些数据。现在该特定表有一个名为 insert_by 的字段。现在在 insert_by 字段中,我需要在该表中插入数据的用户的用户名。用户的用户名在表 emp_info 中。

但问题是用户名应该自动插入到inserted_by 字段中,因为该特定用户已经在系统中登录。因此,在那个 insert_by 字段中,我需要插入登录 currenlty 的用户的用户名。我该怎么做 ?

【问题讨论】:

使用\Yii::$app->user->identity->username;可能是\Yii::$app->user->username 我应该在哪里使用这个代码?我的意思是像 $model->requested_by=\Yii::$app->user->identity->username; ??? 在控制器$model->inserted_by=\Yii::$app->user->identity->username; 是的,它的工作!谢谢 【参考方案1】:

在控制器中添加,

$model->inserted_by = \Yii::$app->user->identity->username; 

【讨论】:

以上是关于Yii2,如何将登录用户的用户名自动保存在另一个表中?的主要内容,如果未能解决你的问题,请参考以下文章

在 YII2 中使用自动注销,需要在再次登录后将用户重定向到用户在自动注销之前的相同 URL

如果用户在另一台设备上登录,则自动注销用户

yii2 自动登录解读

将 ASP.NET 核心身份用户属性保存在另一个表中

Yii2如何获取在线用户列表?

Yii2 保存到数据库