Heim >Backend-Entwicklung >PHP-Tutorial >Wie vermeide ich den Fehler „Versuch, Eigentum eines Nicht-Objekts abzurufen' in Laravel 5?
Vermeidung des „Versuchs, die Eigenschaft eines Nichtobjekts abzurufen“ in Laravel 5
In Laravel 5 ist es wichtig, den Rückgabetyp von zu überprüfen Ihre Abfragen, um den Fehler „Versuch, Eigentum eines Nicht-Objekts abzurufen“ zu vermeiden.
In Ihrem Fall die Klinge Die Syntax {{ $article->postedBy->name }} geht davon aus, dass $article->postedBy ein Objekt mit einer Namenseigenschaft zurückgibt. Wenn Ihre Abfrage jedoch ein Array anstelle eines Objekts zurückgibt, tritt dieser Fehler auf.
Um dieses Problem zu beheben, geben Sie den Wert von $article->postedBy in Ihrer Blade-Vorlage mit {{ dd($article ->postedBy) }} oder in Ihrem Controller-Code mit dump($article->postedBy). Dadurch wird angezeigt, ob es sich um ein Objekt oder ein Array handelt.
Wenn es sich um ein Array handelt, greifen Sie einfach mit [ und ] anstelle von -> auf die Array-Elemente zu. Beispielsweise würde {{ $article->postedBy['name'] }} auf den Namensarrayschlüssel zugreifen.
Hier ist ein aktualisierter Codeausschnitt:
// 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 }
Indem Sie diese Schritte befolgen können Sie den Fehler „Versuch, Eigentum eines Nicht-Objekts abzurufen“ vermeiden und sicherstellen, dass Sie korrekt auf Ihre Daten zugreifen.
Das obige ist der detaillierte Inhalt vonWie vermeide ich den Fehler „Versuch, Eigentum eines Nicht-Objekts abzurufen' in Laravel 5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!