リレーションデータがない場合の対処[Laravel]

WEB開発
この記事は約1分で読めます。
スポンサーリンク

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

コメント

タイトルとURLをコピーしました