Php 如何根据Yii2中当前用户登录从数据库中获取数据
如何根据当前用户登录从数据库中获取数据?例如,当用户登录并打开您的页面时,它只显示他/她的数据。您应该使用WHERE子句 例如: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
$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.渲染视图。