如何根据Yii2中的当前用户登录从数据库中获取数据

时间:2017-08-21 07:09:05

标签: php yii2 yii2-advanced-app

如何根据当前用户登录从数据库中获取数据?例如,当用户登录并打开您的页面时,它只显示他/她的数据。

3 个答案:

答案 0 :(得分:1)

我想这是解决方案。 (这是我类似项目的工作代码)。

控制器:

public function actionVacancyList()
{

    if ( !Yii::$app->user->isGuest )
    {
        $user_vacancies = Vacancies::getVacanciesByUser(Yii::$app->user->id);

        return $this->render('vacancy-list', [
            'user_vacancies' => $user_vacancies,
        ]);
    }
    return $this->redirect(['/site/login']);

}

型号:

static public function getVacanciesByUser($user_id)
{
    return Vacancies::find()
        ->where(['user_id' => $user_id])
        ->orderBy('id DESC')
        ->limit(100)
        ->all();
}

答案 1 :(得分:0)

你应该使用WHERE CLAUSE

示例:

$sql = "Select * from datatable Where username = username";

答案 2 :(得分:0)

您可以使用Yii::$app->user->identity获取经过身份验证的用户信息,然后从数据库中获取所需的数据。