方法 Illuminate\\Database\\Eloquent\\Collection::createToken 不存在
Method Illuminate\\Database\\Eloquent\\Collection::createToken does not exist
我在 py 项目中使用 laravel 护照,我想在每个请求中创建一个令牌以确保它的安全,但它现在不起作用,我真的很困惑我的代码有什么问题,请帮助我。
这是我的模特
use App\Models\Post;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\Models\Media;
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable implements HasMedia
{
use HasApiTokens, Notifiable;
use HasMediaTrait;
public function registerMediaConversions(Media $media = null)
{
$this->addMediaConversion('thumb')
->crop('crop-center', 50, 50);
$this->addMediaConversion('list')
->fit('crop', 312, 312);
$this->addMediaConversion('big')
->fit('fill', 1248, 1248);
}
protected $fillable = [
'name', 'email', 'password', "role"
];
protected $hidden = [
'password', 'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
public function posts()
{
return $this->hasMany(Post::class, 'post_author');
}
}
这是我的控制器
{
$data = \App\User::all();
$accessToken = $data->createToken('Token')->accessToken;
return response(['usersData' => $data]);
}
我用下面的代码解决了我的问题:)
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')-> accessToken;
return response()->json(['success' => $success], $this-> successStatus);
我在 py 项目中使用 laravel 护照,我想在每个请求中创建一个令牌以确保它的安全,但它现在不起作用,我真的很困惑我的代码有什么问题,请帮助我。
这是我的模特
use App\Models\Post;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\Models\Media;
use Laravel\Passport\HasApiTokens;
class User extends Authenticatable implements HasMedia
{
use HasApiTokens, Notifiable;
use HasMediaTrait;
public function registerMediaConversions(Media $media = null)
{
$this->addMediaConversion('thumb')
->crop('crop-center', 50, 50);
$this->addMediaConversion('list')
->fit('crop', 312, 312);
$this->addMediaConversion('big')
->fit('fill', 1248, 1248);
}
protected $fillable = [
'name', 'email', 'password', "role"
];
protected $hidden = [
'password', 'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
public function posts()
{
return $this->hasMany(Post::class, 'post_author');
}
}
这是我的控制器
{
$data = \App\User::all();
$accessToken = $data->createToken('Token')->accessToken;
return response(['usersData' => $data]);
}
我用下面的代码解决了我的问题:)
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')-> accessToken;
return response()->json(['success' => $success], $this-> successStatus);