【问题标题】:Method Illuminate\\Database\\Eloquent\\Collection::createToken does not exist方法 Illuminate\\Database\\Eloquent\\Collection::createToken 不存在
【发布时间】:2020-11-13 02:30:31
【问题描述】:

我在 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]);
    }

【问题讨论】:

  • 您尝试在集合上调用该函数但必须在模型上执行此操作,在$data 上使用循环,然后在内部调用createToken
  • 不要听从@V-K 的建议。这将是一个可怕的想法:虽然具体用户会获得创建令牌,但提议的解决方案对于所有其他用户来说都是灾难。
  • @Loic.lopez 这不能解决 py 问题

标签: laravel laravel-passport laravel-api


【解决方案1】:

我用下面的代码解决了我的问题:)

 $user = Auth::user();
        $success['token'] =  $user->createToken('MyApp')-> accessToken;
        return response()->json(['success' => $success], $this-> successStatus);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-21
    • 2021-09-08
    • 2019-12-11
    • 2020-02-04
    • 2019-11-12
    • 2019-05-24
    • 2019-09-04
    • 1970-01-01
    相关资源
    最近更新 更多