当我使用护照包时,我遇到了这个错误
在null
上调用成员函数createToken()
为什么我会收到此错误?
这是我的代码:
$users = Users::where('Email' , $username)
->where( 'Password' , $password)
->where('UserStatus' , config('global.active'))
->first();
if($users) {
$success['token'] = $users->createToken('MyApp')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
} else {
return response()->json(['error'=>'Unauthorised'], 401);
}
答案 0 :(得分:0)
$user = Auth::user();
是不必要的,是造成错误的原因。
$user = Users::where('Email' , $username)->where( 'Password' , $password)->where('UserStatus' , config('global.active'))->first();
if($user){
$success['token'] = $user->createToken('MyApp')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
}else{
return response()->json(['error'=>'Unauthorised'], 401);
}
答案 1 :(得分:0)
如果$users
为空,则无法调用调用createToken
调用结构的部分。我想知道这是不是一个红鲱鱼,这里有一些中间件在工作。实际上有三个同名方法的实例,并且错误消息中的命名空间在那里没有显着:
最后一个是User模型使用的特征,并且是您正在调用的特征。但我想知道这个错误是否真的来自其他两个错误之一。检查错误日志,可能在/storage/logs/laravel.log
中,看看是否有可能提供线索的堆栈跟踪。