首页 > 解决方案 > 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 的新手,所以任何帮助都将不胜感激。

标签: phpsqllaravellaravel-5eloquent

解决方案


我认为你应该这样尝试,通过在凭据数组中提供你想要的状态:

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

推荐阅读