Laravelのリレーションを利用している場合に、アローでデータを呼びます。
しかし、リレーションのデータがない場合、NULLのデータに対して、アローで呼び出しを行おうとしてしまうため、エラーになってしまいます。
Attempt to read property "name" on null
これを回避するためには、NULLかどうかを事前に判断する必要があります。
NULL合体演算子(??クエスチョンマーク2つ)を利用することで判定ができますが、
laravelではもっと簡単な方法があります。
Optionalヘルパーを利用します。NULLになりそうな部分に、これを利用するだけでOKです。
optional($user)->name;
https://xzxzyzyz.com/2018/04/laravel-optional-helper/
https://laraveldaily.com/post/laravel-relation-attempt-to-read-property-on-null-error
コメント