Laravel 5 で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?

DDD
リリース: 2024-11-19 06:22:03
オリジナル
486 人が閲覧しました

Why Am I Getting the

Laravel 5 の「非オブジェクトのプロパティを取得しようとしています」エラーを解決する

存在しないオブジェクトのプロパティにアクセスしようとすると、次のような問題が発生する可能性があります。 Laravel 5 で「非オブジェクトのプロパティを取得しようとしています」エラーが発生します。この問題は、モデル間の関係を扱うときによく発生します。

指定された例では、ユーザーの名前を表示しようとしています。記事を投稿した人。 News モデルには、記事に関連付けられたユーザーを取得する postedBy 関係があります。ただし、Blade テンプレートのコード スニペットでは、postedBy がオブジェクトを返すことを前提としていますが、代わりに配列を返す可能性があります。

問題が戻り値にあるかどうかを判断するには、dump($article->) を使用してみてください。 ;postedBy) を使用して結果を出力します。配列の場合は、配列表記法を使用して単純に name プロパティにアクセスできます。

{{ $article->postedBy['name'] }}
ログイン後にコピー

または、モデル リレーションシップを通じて name プロパティにアクセスしたい場合は、$article オブジェクト自体が null でないことを確認してください。また、postBy 関係が正しく定義され、取得されていることを確認します。さらに、名前フィールドがユーザー データベース テーブルに存在することを確認してください。

以上がLaravel 5 で「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート