繁体   English   中英

根据yii2中的当前用户登录名从数据库中检索数据

[英]Retrieve data from database based on current user login in yii2

如何根据当前用户登录名从数据库中获取数据? 例如,当用户登录并单击配置文件栏时,它仅显示其数据。 我曾经尝试过,但它显示用户的所有数据。

在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很陌生。 对不起,谢谢

将您的代码替换为:

在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 ]);
    }

如果要基于当前登录用户检索数据。 您应该在查询中添加条件。

就像是:

$user = User::findOne(Yii::$app->user->id);

同样,如果只需要返回一个Active Record实例,则不需要在视图上循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM