尝试在 Laravel 9 中读取 null 属性“id”
P粉530519234
P粉530519234 2023-12-24 12:53:25
[PHP讨论组]

您好,我遇到一个问题,我的代码是:

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

我想从我的代码中消除这个错误。我被困在这里了。

P粉530519234
P粉530519234

全部回复(1)
P粉151466081

$user->plan evaluates to null. You don't guard against this.


  • 如果您使用的是 PHP8,则可以使用 nullsafe 运算符。
if ($user->plan?->id)
  • If you're using PHP7, you can use laravel's optional() function.
if (optional($user->plan)->id)
  • If the relationship between User and Plan is a belongsTo relationship (User belongsTo Plan), you might be better off just using the foreign key in the user model.
if ($user->plan_id)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号