ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5で「非オブジェクトのプロパティを取得しようとしています」エラーを回避する方法は?
Laravel 5 での「非オブジェクトのプロパティの取得試行」の回避
Laravel 5 では、戻り値の型を検証することが重要です。 「非オブジェクトのプロパティを取得しようとしています」を回避するためのクエリerror.
あなたの場合、ブレード構文 {{ $article->postedBy->name }} は、$article->postedBy が name プロパティを持つオブジェクトを返すことを前提としています。ただし、クエリがオブジェクトではなく配列を返す場合、このエラーが発生します。
この問題を解決するには、{{ dd($article ->postedBy) }} または、コントローラー コードで dump($article->postedBy) を使用します。これにより、それがオブジェクトであるか配列であるかがわかります。
配列の場合は、-> の代わりに [ と ] を使用して配列要素にアクセスするだけです。たとえば、{{ $article->postedBy['name'] }} は、name 配列キーにアクセスします。
更新されたコード スニペットは次のとおりです。
// Controller public function showArticle($slug) { // Ensure your query returns an object $article = News::where('slug', $slug)->first(); if ($article) { // Check if the article exists return view('article', compact('article')); } // Handle the case where no article was found }
次の手順に従います。を使用すると、「非オブジェクトのプロパティを取得しようとしています」エラーを回避し、データに正しくアクセスしていることを確認できます。
以上がLaravel 5で「非オブジェクトのプロパティを取得しようとしています」エラーを回避する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。