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;
}