Trying to get property 〇〇 of non-object:Laravelエラー解決法

Laravel・PHP豆知識・トラブル対策
スポンサーリンク

このエラーは、「オブジェクトがないのに、プロパティを参照しようとしているよ」という意味。

手っ取り早く治す方法は、プロパティの後に【??”代わりの値”】を入れてあげること。

私の例を使って、説明していきます。

まず、こちらがエラーが起こったときのコードと画面。

postとuserモデルはリレーションでつながっています。

なので、userのnameを呼び出せるはずなのに、出てこない。

理由は、post(投稿)の中に、userがないものが混じっていたから。

Laravel側では、「userのnameが入っていないのもあるのに、どうしたらいいの!?」と混乱してしまっているようです。

そこで、次のようにコードを修正します。

 

コードの意味postに紐づいたuserのnameを表示してね。

userのnameが空っぽのときには、【匿名】といれて。

 

すると、画面が表示されるようになりました。

ご紹介した例のように、データに値が入っていない可能性がある場合には、使える解決法かと思います。

試してみてください。

 

 

Laravel・PHP豆知識・トラブル対策

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中!
会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
スポンサーリンク
40代からプログラミング!

コメント

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