Laravel Cashier&Laravel护照 - 无法调用这两个特征

我正在尝试创建一个API。使用Laravel收银员(带条纹)& Laravel护照。Laravel Cashier&Laravel护照 - 无法调用这两个特征

public $successStatus = 200; 

public function index(Request $request)

{

$validator = Validator::make($request->all(), [

'name' => 'required',

'email' => 'required|email',

'password' => 'required',

'c_password' => 'required|same:password',

]);

if ($validator->fails()) {

return response()->json(['error' => $validator->errors()], 401);

}

$input = $request->all();

$input['password'] = bcrypt($input['password']);

$user = User::create($input);

$user = Auth::user();

$success['token'] = $user->createToken('MyApp')->accessToken;

$success['name'] = $user->name;

$success['email'] = $user->email;

$stripeToken = 'tok_visa';

\Stripe\Stripe::setApiKey(env(STRIPE_SECRET));

try

{

$user->newSubscription('monthly')->create($stripeToken, [

'email' => $user->email, 'description' => 'Our First Customer'

]);

return response()->json(['success' => $success], $this->successStatus);

}

catch(Exception $e)

{

return response()->json(['success' => $success], $this->successStatus);

}

"message": "Call to a member function createToken() on null",

"exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",

"file": "/Users/Taylor/Documents/Websites/storingcompany/api/app/Http/Controllers/Register.php",

"line": 32,

"trace": [

有什么我在这里失踪?我无法从用户调用Billable模型特征。在我的控制器中,它显示在Authentiable中没有找到newSubscription而不是Billable。

我的用户类别:

namespace App; 

use Laravel\Passport\HasApiTokens;

use Illuminate\Notifications\Notifiable;

use Illuminate\Foundation\Auth\User as Authenticatable;

use Laravel\Cashier\Billable;

class User extends Authenticatable

{

use Billable;

use HasApiTokens;

use Notifiable;

回答:

这不是因为不是“使用”的性状,这是因为$user变量是null

您有一行代码在数据库中创建新的用户记录。紧接着的下一行,您正尝试获取当前经过身份验证的用户。我会认为这是一些注册或注册过程,所以不会有经过身份验证的用户,因为他们不存在于系统中。

$user = User::create(...); 

$user = Auth::user(); // what do you expect this to be, besides `null`

$user->anyMethodEver(); // Call to a member function ... on null.

以上是 Laravel Cashier&Laravel护照 - 无法调用这两个特征 的全部内容, 来源链接: utcz.com/qa/259712.html

回到顶部