Laravel 8: 未定义的方法 'createToken' intelephense(1013)
Laravel 8: undefined method 'createToken' intelephense(1013)
我对 PHP intelephense 有疑问,createToken 方法未定义。我不知道如何解决它。但是当我 运行 它在邮递员中时它起作用了。我不知道为什么 vscode 不认识它。我还在用户模型中添加了 use Laravel\Passport\HasApiTokens; 和 use HasApiTokens。请帮助我,我 运行 别无选择。谢谢大家
public function login(Request $request)
{
$login = $request->validate([
'email' => 'required',
'password'=> 'required',
]);
if (!Auth::attempt($login)){
return response()->json(['message' => 'error']);
}
$user = Auth::user();
$token = $user->createToken('Token Name')->accessToken;
return response()->json(['user' => $user, 'token' => $token]);
}
在模型中添加用户
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens;
}
试着告诉我
我遇到了同样的问题,加了一行就解决了。对于我的情况。
/** @var \App\Models\MyUserModel $user **/
$user = Auth::user();
我认为注释行告诉 PHP intelephense $user
变量不是 Illuminate\Foundation\Auth\User
类型而是 \App\Models\MyUserModel
类型。请尝试一下。
我对 PHP intelephense 有疑问,createToken 方法未定义。我不知道如何解决它。但是当我 运行 它在邮递员中时它起作用了。我不知道为什么 vscode 不认识它。我还在用户模型中添加了 use Laravel\Passport\HasApiTokens; 和 use HasApiTokens。请帮助我,我 运行 别无选择。谢谢大家
public function login(Request $request)
{
$login = $request->validate([
'email' => 'required',
'password'=> 'required',
]);
if (!Auth::attempt($login)){
return response()->json(['message' => 'error']);
}
$user = Auth::user();
$token = $user->createToken('Token Name')->accessToken;
return response()->json(['user' => $user, 'token' => $token]);
}
在模型中添加用户
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens;
}
试着告诉我
我遇到了同样的问题,加了一行就解决了。对于我的情况。
/** @var \App\Models\MyUserModel $user **/
$user = Auth::user();
我认为注释行告诉 PHP intelephense $user
变量不是 Illuminate\Foundation\Auth\User
类型而是 \App\Models\MyUserModel
类型。请尝试一下。