仅当 laravel 5.2 中的状态 =“1”时才登录用户

Login a user only if the status = '1' in laravel 5.2

我正在与 laravel 5.2 合作,如果状态为活动我想登录用户

Route::get('/ProductInquiry', function(){ 
      $id = session('esysid');
      $user = UsersModel::where('employeeID', 'LIKE', $id)->get();
      session(['name' => $user[0]->sAMAccountName]);
      return view('home'); 
})->name('home');

我的数据库中有状态列,我需要帮助通过在路由中获取用户状态来验证活跃用户,这样我才能知道谁是系统的活跃用户。我希望登录状态为 1 的用户。

尝试:

Route::get('/ProductInquiry', function(){ 
    $id = session('esysid');
    $user = UsersModel::where('employeeID', $id)->whereStatus(1)->first();
    session(['name' => $user->sAMAccountName]);
    return view('home'); 
})->name('home');

您应该重新考虑检查用户信息

$user = UsersModel::where('status', 1)->find($id)->get();

$user = UsersModel::whereStatus(1)->find($id)->get();

您可以使用 Laravel Where 子句来实现您的结果

Route::get('/ProductInquiry', function(){ 
      $id = session('esysid');
      $userDetail = UsersModel::where('employeeID', $id)->where('status', 1)->first();
      session(['name' => $userDetail->sAMAccountName]);
      return view('home'); 
})->name('home');

此外,由于 employeeID 是唯一的,因此您可以使用 first 代替 get 方法。

get() - Return a collection.

first() - Return a single object.