Maison  >  Questions et réponses  >  le corps du texte

Essayer de lire la propriété nulle "id" dans Laravel 9

Bonjour, j'ai rencontré un problème, mon code est :

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

Je souhaite éliminer cette erreur de mon code. Je suis coincé ici.

P粉530519234P粉530519234274 Il y a quelques jours372

répondre à tous(1)je répondrai

  • P粉151466081

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

    $user->plan est évalué à nul. Vous ne vous en prémunissez pas.


    • Si vous utilisez PHP8, vous pouvez utiliser l'opérateur nullsafe.
    if ($user->plan?->id)
    
    • Si vous utilisez PHP7, vous pouvez utiliser la fonction optional() de Laravel.
    if (optional($user->plan)->id)
    
    • Si la relation entre User and Plan est une relation appartient à (l'utilisateur appartient au plan), vous feriez peut-être mieux d'utiliser simplement la clé étrangère dans le modèle utilisateur.
    if ($user->plan_id)
    

    répondre
    0
  • Annulerrépondre