问题描述
我正在尝试执行以下操作:如果您尝试使用他的凭据登录,那次登录系统将检查帐户状态(如果状态为“ ACTIVE”)登录,否则显示错误通知您的帐户已被阻止。
列account_status
值ACTIVE
和BLOCKED
我在控制器中尝试了此操作,但它不起作用
<?PHP
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\UserLoginRequest;
use App\Http\Resources\User as UserResource;
use App\User;
class LoginController extends Controller
{
public function login(UserLoginRequest $request)
{
if (!$token = auth()->attempt($request->only(['mobile_number','password']))) {
return response()->json([
'errors' => [
'mobile_number' => ['Sorry we cant find you with those details.'],],422);
};
return (new UserResource($request->user()))->additional([
'Meta' => [
'token' => $token,]);
}
public function logout()
{
auth()->logout();
}
}
解决方法
尝试一下:
use Auth;
if (Auth::attempt(['email' => $email,'password' => $password,'account_status'=>'ACTIVE'])) {
// Authentication passed...
return (new UserResource($request->user()))->additional([
'meta' => [
'token' => $token,],]);
}
return response()->json([
'errors' => ["email" => "Something wrong"]
]);