避免在 Laravel 5 中“尝试获取非对象的属性”
在 Laravel 5 中,验证返回类型至关重要您的查询以避免“尝试获取非对象的属性”错误。
在您的在这种情况下,刀片语法 {{ $article->postedBy->name }} 假定 $article->postedBy 返回具有 name 属性的对象。但是,如果您的查询返回数组而不是对象,则会发生此错误。
要解决此问题,请使用 {{ dd($article ->postedBy) }} 或在控制器代码中使用 dump($article->postedBy)。这将显示它是对象还是数组。
如果它是数组,只需使用 [ 和 ] 而不是 -> 访问数组元素。例如, {{ $article->postedBy['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中文网其他相关文章!