Laravel 5.6方法Illuminate \ Database \ Query \ Builder :: createToken不存在 [英] Laravel 5.6 Method Illuminate\Database\Query\Builder::createToken does not exist

查看:42
本文介绍了Laravel 5.6方法Illuminate \ Database \ Query \ Builder :: createToken不存在的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Passport创建API身份验证,但是当使用 createToken ()注册用户时,我似乎无法创建令牌.

I am trying to create API authentication using Passport but I can not seem to create a token when a user is being registered using createToken().

我已经检查过我是否包含HasApiTokens,但仍然给出相同的错误.

I have already checked I have included HasApiTokens but still gives same error.

错误

方法Illuminate \ Database \ Query \ Builder :: createToken不存在

Method Illuminate\Database\Query\Builder::createToken does not exist

应用程序\用户

namespace App;

use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use HasApiTokens, Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
          'password', 'remember_token',
    ];
}

SignupController

**public function userLogin(Request $request) 
{
    $email = $request->email;
    $password = $request->password;

    $user = User::where('email' , $email)->where( 'password' , $password);
    if($user)
    {
        $token = $user->createToken('MyApp')->accessToken;
        $arr = array('token' => $token, 'status' => 'isTrue', 'userId' => $data[0]->id);
        //return response()->json($arr , 200);
    }**
}

推荐答案

您需要提取用户.当前$ user是QueryBuilder,而不是用户对象.

You need to fetch the user. Currently $user is the QueryBuilder, not the user object.

User :: where('email',$ email)-> where('password',$ password)-> first();

这篇关于Laravel 5.6方法Illuminate \ Database \ Query \ Builder :: createToken不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆