Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengelakkan Ralat 'Mencuba Mendapatkan Harta Bukan Objek' dalam Laravel 5?

Bagaimana untuk Mengelakkan Ralat 'Mencuba Mendapatkan Harta Bukan Objek' dalam Laravel 5?

Susan Sarandon
Susan Sarandonasal
2024-11-24 16:16:40544semak imbas

How to Avoid

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn