根据yii2中的当前用户登录从数据库中检索数据
Retrieve data from database based on current user login in yii2
如何根据当前用户登录从数据库中获取数据?例如,当用户登录并单击配置文件栏时,它只显示 his/her 数据。我以前试过,但它显示了用户的所有数据。
在personalinfo.php
<?php foreach ($personals as $user):?><?=Html::encode("{$user->username}")?><?php endforeach;?>
<?php foreach ($personals as $user):?><?=Html::encode("{$user->user_id}")?><?php endforeach;?>
<?php foreach ($personals as $user):?><?=Html::encode("{$user->email}")?><?php endforeach;?>
在控制器处
public function actionPersonalinfo()
{
$query = User::find()->all();
return $this->render('personalinfo', [
'personals' => $query
]);
}
我认为是因为 $query = User::find()->all();。但我不知道如何替换它,以便它可以根据当前用户登录检索数据。我对 yii2 很陌生。抱歉,谢谢
如果您想根据当前登录用户检索数据。您应该在查询中添加条件。
类似于:
$user = User::findOne(Yii::$app->user->id);
此外,如果您只需要 returns 单个 Active Record 实例,则无需在视图上循环。
将您的代码替换为:
在personalinfo.php
User Id : <?php echo $personals->user_id; ?>
Username: <?php echo $personals->username; ?>
Email : <?php echo $personals->email; ?>
在控制器处
public function actionPersonalinfo() {
$query = User::findOne(Yii::$app->user->id);
return $this->render('personalinfo', [ 'personals' => $query ]);
}
如何根据当前用户登录从数据库中获取数据?例如,当用户登录并单击配置文件栏时,它只显示 his/her 数据。我以前试过,但它显示了用户的所有数据。
在personalinfo.php
<?php foreach ($personals as $user):?><?=Html::encode("{$user->username}")?><?php endforeach;?>
<?php foreach ($personals as $user):?><?=Html::encode("{$user->user_id}")?><?php endforeach;?>
<?php foreach ($personals as $user):?><?=Html::encode("{$user->email}")?><?php endforeach;?>
在控制器处
public function actionPersonalinfo()
{
$query = User::find()->all();
return $this->render('personalinfo', [
'personals' => $query
]);
}
我认为是因为 $query = User::find()->all();。但我不知道如何替换它,以便它可以根据当前用户登录检索数据。我对 yii2 很陌生。抱歉,谢谢
如果您想根据当前登录用户检索数据。您应该在查询中添加条件。
类似于:
$user = User::findOne(Yii::$app->user->id);
此外,如果您只需要 returns 单个 Active Record 实例,则无需在视图上循环。
将您的代码替换为:
在personalinfo.php
User Id : <?php echo $personals->user_id; ?>
Username: <?php echo $personals->username; ?>
Email : <?php echo $personals->email; ?>
在控制器处
public function actionPersonalinfo() {
$query = User::findOne(Yii::$app->user->id);
return $this->render('personalinfo', [ 'personals' => $query ]);
}