2017-08-08 79 views
1

我已經關注了Laravel文檔準確地用於通過出納創建新訂閱。我的控制器看起來是這樣的:Laravel 5.4出納添加訂閱

public function saveSubscription(Request $request) 
{ 
    $plan = Plan::find($request->input('plan')); 
    //$user_id = Auth::id(); 
    //$user = User::find($user_id); // work but ugly 
    //$user = $request->user(); // same error 
    $user = Auth::user(); 

    $user->newSubscription($plan->name, $plan->name)->create($request->input('stripeToken'), [ 
     'email' => $request->input('stripeEmail'), 
    ]); 

所有這些努力得到來自AuthRequestUser模型失敗,出現以下錯誤:

Call to undefined method Illuminate\Database\Query\Builder::newSubscription()

的作品是獲得的唯一的事用戶ID通過Auth::id()調用,然後手動查找。

我錯過了什麼嗎?

+1

你加計費性狀Billable特徵添加到您的用戶模型,用戶模式? https://laravel.com/docs/5.4/billing – CUGreen

+0

@ CUGreen--謝謝,就是這樣!當我發佈收銀員元素時,我想我補充道。請添加爲答案,我會接受它。 – user101289

回答

1

你需要

use Laravel\Cashier\Billable; 

class User extends Authenticatable 
{ 
    use Billable; 
}