我遇到了一些问题我无法找到解决办法。
$isusersubscribed = ($user->onPlan('user') OR $user->onPlan('admin'));
// If no subscription exists, create a new one
if (!$isusersubscribed) {
try {
$user->newSubscription($plan->name, $plan->name)->create(request('stripeToken'));
} catch (\Exception $e){
return response()->json(
['status' => $e->getMessage()], 422
);
}
}
// Then prepare data for the Vue components
$subscriptions = $user->subscriptions->all();
$ subscriptions应返回用户订阅的集合。但是,即使if语句中的代码运行并创建了订阅,它也会返回一个空数组。
如果我删除该行
$isusersubscribed = $user->onPlan('user') OR $user->onPlan('admin');
并将if中的表达式替换为“true”,我正确地获得了订阅。
有人可以帮助我吗?
更新:
如果我使用
,它会起作用 $subscriptions = Subscription::where('user_id', $user->id)->get();
我不知道为什么这不起作用:
$subscriptions = $user->subscriptions->all();
就像我说的,如果我在块之前使用if(1 == 1),这种关系确实有效。