【发布时间】:2017-03-07 04:23:39
【问题描述】:
如何从数据库中获取所有参数的当前在线用户数据?现在我通过以下方式获取它的 ID:
echo Yii::$app->user->getId();
我能否以某种方式访问其他数据,或者我是否必须创建一个通过用户 ID 获取所有信息的函数?
【问题讨论】:
如何从数据库中获取所有参数的当前在线用户数据?现在我通过以下方式获取它的 ID:
echo Yii::$app->user->getId();
我能否以某种方式访问其他数据,或者我是否必须创建一个通过用户 ID 获取所有信息的函数?
【问题讨论】:
您可以通过这种方式访问所有标识值
这个用户名
Yii::$app->user->identity->username
检查您的用户模型的其他属性
http://www.yiiframework.com/doc-2.0/guide-security-authentication.html
http://www.yiiframework.com/doc-2.0/yii-web-identityinterface.html
http://www.yiiframework.com/doc-2.0/yii-web-user.html
(当然还有你的用户模型)
【讨论】:
您可以通过以下方式访问当前登录用户的模型:
$user = Yii::$app->user->identity;
这将返回 null(如果用户未登录)或您在配置中为 user 组件定义的 identityClass 实例。例如:
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
],
因此您可以像使用任何其他模型类一样使用它并访问它的属性和/或方法。只要确保您正确配置了user 组件并且identityClass 存在并且可以访问。
【讨论】:
当前用户是:
Yii::$app->user->identity
它可以为空,所以在访问字段之前检查它
【讨论】: