尝试读取Laravel 9中空值的属性“id”

5vf7fwbs  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(179)

你好我有一个问题我的代码是:

if($user->plan->id == 1) {
    return view($this->activeTemplate . 'user.autopool', compact('pageTitle', 'commissions', 'deposit', 'transactions', 'commission', 'withdraw', 'transaction', 'username', 'balance', 'user', 'plans'));
} else {
    return view($this->activeTemplate . 'user.nopool', compact('pageTitle', 'user'));
}

我想摆脱这个错误从我的代码.我在这里卡住.

juzqafwq

juzqafwq1#

$user->plan的计算结果为null。您不需要防范这种情况。

  • 如果使用PHP8,可以使用nullsafe操作符。
if ($user->plan?->id)
  • 如果使用的是PHP7,可以使用laravel的optional()函数。
if (optional($user->plan)->id)
  • 如果UserPlan之间的关系是belongsTo关系(User belongsTo Plan),则最好只在用户模型中使用外键。
if ($user->plan_id)

相关问题