如何在5.2中查看用户的订阅状态?
在5.1中很容易$user->subscribed()
,但现在您必须将计划名称指定为参数$user->subscribed('plan-name')
。
要获取用户的计划名称,我创建了一个订阅模型,以与Cashier创建的订阅表一起使用。然后在用户和订阅之间创建了一个关联,这样我就可以获得用户的计划名称,如$user->subscription['name']
,然后我将其插入到订阅的调用中:
$user->subscribed( $user->subscription['name'] )
它对我来说很好,并且正确地输出了Tinker中的计划名称,但最终破坏了一些东西并在我的一些路线上抛出了这个错误:
调用未定义的方法Illuminate \ Database \ Query \ Builder :: active()
感谢您的帮助!
答案 0 :(得分:1)
我创建的名为Subscription
的模型只是一个问题,它与来自用户的一个名为subscription
的关联。这是一个创建冲突的保留字,然后是问题中提到的QueryBuilder错误。
我只是将引用订阅表的模型名称更改为StripeSubscription
(在模型中包含$table = 'subscriptions'
属性),以及从用户到stripeSubscription
的关联。
然后你就可以调用收银员功能,例如:
$user->subscribed( $user->stripeSubscription['name'] );