存在しないオブジェクトのプロパティにアクセスしようとすると、次のような問題が発生する可能性があります。 Laravel 5 で「非オブジェクトのプロパティを取得しようとしています」エラーが発生します。この問題は、モデル間の関係を扱うときによく発生します。
指定された例では、ユーザーの名前を表示しようとしています。記事を投稿した人。 News モデルには、記事に関連付けられたユーザーを取得する postedBy 関係があります。ただし、Blade テンプレートのコード スニペットでは、postedBy がオブジェクトを返すことを前提としていますが、代わりに配列を返す可能性があります。
問題が戻り値にあるかどうかを判断するには、dump($article->) を使用してみてください。 ;postedBy) を使用して結果を出力します。配列の場合は、配列表記法を使用して単純に name プロパティにアクセスできます。
{{ $article->postedBy['name'] }}
または、モデル リレーションシップを通じて name プロパティにアクセスしたい場合は、$article オブジェクト自体が null でないことを確認してください。また、postBy 関係が正しく定義され、取得されていることを確認します。さらに、名前フィールドがユーザー データベース テーブルに存在することを確認してください。
以上がLaravel 5 で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。