Mengelakkan "Mencuba Mendapatkan Harta Bukan Objek" dalam Laravel 5
Dalam Laravel 5, adalah penting untuk mengesahkan jenis pemulangan pertanyaan anda untuk mengelakkan "Mencuba Mendapatkan Harta Bukan Objek" ralat.
Dalam kes anda, sintaks bilah {{ $article->postedBy->name }} menganggap bahawa $article->postedBy mengembalikan objek dengan sifat nama. Walau bagaimanapun, jika pertanyaan anda mengembalikan tatasusunan dan bukannya objek, ralat ini berlaku.
Untuk menyelesaikan isu ini, buang nilai $article->postedBy dalam templat Blade anda menggunakan {{ dd($article ->postedBy) }} atau dalam kod pengawal anda menggunakan dump($article->postedBy). Ini akan mendedahkan sama ada ia objek atau tatasusunan.
Jika ia tatasusunan, cuma akses elemen tatasusunan menggunakan [ dan ] bukannya ->. Contohnya, {{ $article->postedBy['name'] }} akan mengakses kekunci tatasusunan nama.
Berikut ialah coretan kod yang dikemas kini:
// 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 }
Dengan mengikuti langkah ini , anda boleh mengelakkan ralat "Mencuba Mendapatkan Harta Bukan Objek" dan memastikan anda mengakses data anda dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Ralat 'Mencuba Mendapatkan Harta Bukan Objek' dalam Laravel 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!