数组为空或填充,具体取决于if表达式

时间:2017-01-26 21:25:07

标签: php laravel

我遇到了一些问题我无法找到解决办法。

     $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),这种关系确实有效。

0 个答案:

没有答案