ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5で「非オブジェクトのプロパティを取得しようとしています」エラーを回避する方法は?

Laravel 5で「非オブジェクトのプロパティを取得しようとしています」エラーを回避する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-24 16:16:40547ブラウズ

How to Avoid

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。