Php Laravel-ErrorException:未定义变量:Laravel Passport登录中的请求
我在Laravel-8项目Passport API认证中有以下代码: 验证请求规则:Php Laravel-ErrorException:未定义变量:Laravel Passport登录中的请求,php,laravel,laravel-passport,Php,Laravel,Laravel Passport,我在Laravel-8项目Passport API认证中有以下代码: 验证请求规则: class LoginRequest extends FormRequest { public function rules() { return [ 'email' => 'required_without:mobile_number|string', 'mobile_number' => 'required_without:email|string',
class LoginRequest extends FormRequest
{
public function rules()
{
return [
'email' => 'required_without:mobile_number|string',
'mobile_number' => 'required_without:email|string',
'password' => 'required|string',
'remember_me' => 'boolean'
];
}
}
控制器:
public function login(LoginRequest $request)
{
DB::beginTransaction();
try {
$confirmUser = User::where('active', 1)->where(function ($query) {
$query->where('email', $request->email)->orWhere('mobile_number', $request->mobile_number);
})->whereNull('deleted_at')->first();
if(!$confirmUser){
return $this->error('User doesn\'t exist', 404);
}
$authenticated = false;
$remember = $request->remember_me ? true : false;
if (Auth::attempt(['email' => $request->email, 'password' => $request->password], $remember)) {
$authenticated = true;
} elseif (Auth::attempt(['mobile_phone' => $request->mobile_number, 'password' => $request->password], $remember)) {
$authenticated = true;
}
if ($authenticated == true) {
$user = Auth::user();
$tokenResult = $user->createToken('iDriver');
$token = $tokenResult->token;
if ($request->remember_me)
$token->expires_at = Carbon::now()->addWeeks(1);
$token->save();
// User Log
if(Auth::loginUsingId($user->id))
{
$user->update([
'last_login_at' => now(),
]);
}
DB::commit();
return $this->success('You have successfully Logged In.', [
'user' => $user,
'access_token' => $token,
'expires_at' => Carbon::parse(
$tokenResult->token->expires_at
)->toDateTimeString()
]);
} else {
return $this->error('Invalid User Credential', 401);
}
} catch(\Exception $e) {
DB::rollback();
Log::error($e);
return $this->error($e->getMessage(), $e->getCode());
}
}
用户可以使用电子邮件或手机号码登录
当我测试它时,我得到了这个错误:
2021-05-19 14:39:07]local.ERROR:ErrorException:未定义变量:C:\xampp\htdocs\myapp\app\Controllers\AuthController.php:92中的请求
这是第92行:
$query->where('email',$request->email)->或where('mobile\u number',$request->mobile\u number)
我如何解决这个问题
谢谢使用request()
或->where(函数($query)使用($request)