記事内のユーザーの名前をエコーしようとすると、「 ErrorException: 非オブジェクトのプロパティを取得しようとしています」というエラーが発生します。原因として考えられるものは次のとおりです。
dd($article) を使用してクエリを検査します。配列とオブジェクトのどちらを返すかを判断します。配列の場合は、オブジェクト アクセス (->) の代わりに配列アクセス ([]) を使用する必要があります。
ニュース モデルには postedBy 関係があり、次のようになります。正しく定義されています。ただし、ビューに渡す前に、関係がコントローラーで適切に初期化されていることを確認してください。
ユーザー モデルがアプリケーションに存在することを確認してください。読み込まれていない、または適切に登録されていない場合、リレーションシップは正しく機能せず、エラーが発生します。
users テーブルに名前フィールドがあり、それが対応していることを確認してください。アクセスしようとしているプロパティ ($article->postedBy->name) にアクセスしてください。
ユーザー名にアクセスするためのブレード構文が正しいことを再確認してください。
{{ $article->postedBy?->name ?? '' }}
?? '' は、$article->postedBy 関係が null であるか、name プロパティがない場合を処理します。
以上がLaravel 5: ビューにユーザーデータを表示すると「非オブジェクトのプロパティを取得しようとしています」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。