首頁 >後端開發 >php教程 >如何避免 Laravel 5 中的「嘗試取得非物件的屬性」錯誤?

如何避免 Laravel 5 中的「嘗試取得非物件的屬性」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-24 16:16:40541瀏覽

How to Avoid

避免在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn