Rumah  >  Soal Jawab  >  teks badan

Cuba membaca "id" sifat nol dalam Laravel 9

Helo, saya menghadapi masalah, kod saya ialah:

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

Saya mahu menghapuskan ralat ini daripada kod saya. Saya terperangkap di sini.

P粉530519234P粉530519234274 hari yang lalu374

membalas semua(1)saya akan balas

  • P粉151466081

    P粉1514660812023-12-25 00:10:31

    $user->plan menilai kepada null. Anda tidak berhati-hati terhadap perkara ini.


    • Jika anda menggunakan PHP8, anda boleh menggunakan operator nullsafe.
    if ($user->plan?->id)
    
    • Jika anda menggunakan PHP7, anda boleh menggunakan fungsi optional() laravel.
    if (optional($user->plan)->id)
    
    • Jika hubungan antara User and Plan ialah hubungan milik (User belongsTo Plan), anda mungkin lebih baik menggunakan kunci asing sahaja dalam model pengguna.
    if ($user->plan_id)
    

    balas
    0
  • Batalbalas