Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何根据Yii2中当前用户登录从数据库中获取数据_Php_Yii2_Yii2 Advanced App - Fatal编程技术网

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

Php 如何根据Yii2中当前用户登录从数据库中获取数据,php,yii2,yii2-advanced-app,Php,Yii2,Yii2 Advanced App,如何根据当前用户登录从数据库中获取数据?例如,当用户登录并打开您的页面时,它只显示他/她的数据。您应该使用WHERE子句 例如: $sql = "Select * from datatable Where username = username"; 您可以使用Yii::$app->user->identity>获取经过身份验证的用户信息,然后从数据库中获取所需的数据。我想这是一个解决方案。(这是我类似项目的工作代码) 控制器: public function actionVacancyList

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

您应该使用WHERE子句

例如:

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

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

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

控制器:

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();
}

实际上,这个查询我知道,但实际上我正在创建一个员工管理系统,所以如何在查询中显示员工的特定数据呢?请使用where子句。为了获取特定人员的数据,实际上我知道这个查询,但实际上我正在制作一个员工管理系统,所以如何显示员工的特定数据检查一下:它很容易实现和管理。假设应用程序中有其他部分需要控制对不同用户的访问。使用“where”子句=>select*from table where username='$username',如果是主题启动程序,最佳做法是使用活动记录在对象中获取结果,以便在视图中舒适地呈现。因此:1。在控制器中检查用户是否为来宾。2.如果没有,则使用Yii::$app->user->id获取用户id并传递给model方法。3.使用AR(ActiveRecord)with子句从数据库结果中获取用于登录特定用户的结果,并传递到视图。4.渲染视图。