php - Laravel 登录列处理
问题描述
我有一个名为“状态”的表列这是架构:
Schema::table('users', function (Blueprint $table) {
$table->boolean('Status')->default('0');
});
这是一个添加到我的“用户”表中的布尔值。它的功能是查明用户是否在管理仪表板上登录。这是我的身份验证控制器@登录:
public function login(Request $request)
{
$validateData = $request->validate([
'email' => 'required',
'password' => 'required',
]);
$credentials = request(['email', 'password']);
if (! $token = auth()->attempt($credentials)) {
return response()->json(['error' => 'Email or Password Invalid'], 401);
}
return $this->respondWithToken($token);
}
基本的东西,但我想做的是,如果用户通过登录访问这个控制器,status
那么用户表中列中的布尔值变为1
真而不是0
假。我是 laravel 的新手,所以任何帮助都将不胜感激。
解决方案
我认为你应该这样尝试,通过在凭据数组中提供你想要的状态:
public function login(Request $request)
{
$validateData = $request->validate([
'email' => 'required',
'password' => 'required',
]);
$credentials = request(['email', 'password']);
$credentials['Status'] = 1;
if(!Auth::attempt($credentials)) {
return response()->json(['error' => 'Email or Password Invalid'], 401);
}
return $this->respondWithToken($token);
}