Laravel 5.4 Касса добавить подписку

Я внимательно следил за документами Laravel для создания новой подписки через кассу. Мой контроллер выглядит так:

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'),
    ]);

Все эти попытки получить User модель из Auth или же Request ошибка со следующей ошибкой:

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

Единственное, что работает, это получение идентификатора пользователя через Auth::id() позвоните, а затем ищите его вручную.

Я что-то пропустил?

1 ответ

Решение

Вам нужно добавить Billable черта вашей модели пользователя

use Laravel\Cashier\Billable;

class User extends Authenticatable
{
    use Billable;
}
Другие вопросы по тегам