Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich in Laravel 5 den Fehler „Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen'?

Warum erhalte ich in Laravel 5 den Fehler „Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen'?

DDD
DDDOriginal
2024-11-19 06:22:03488Durchsuche

Why Am I Getting the

Behebung des Fehlers „Versuch, eine Eigenschaft eines Nicht-Objekts abzurufen“ in Laravel 5

Wenn Sie versuchen, auf eine Eigenschaft eines Objekts zuzugreifen, das nicht existiert, kann dies passieren In Laravel 5 tritt der Fehler „Trying to Get Property of Non-Object“ auf. Dieses Problem tritt häufig auf, wenn es um Beziehungen zwischen ihnen geht Modelle.

Im gegebenen Beispiel versuchen Sie, den Namen des Benutzers anzuzeigen, der einen Artikel gepostet hat. Ihr News-Modell verfügt über eine „postedBy“-Beziehung, die den mit dem Artikel verknüpften Benutzer abruft. Das Code-Snippet in Ihrer Blade-Vorlage geht jedoch davon aus, dass „postedBy“ ein Objekt zurückgibt, könnte aber stattdessen ein Array zurückgeben.

Um festzustellen, ob das Problem beim zurückgegebenen Wert liegt, versuchen Sie es mit dump($article-> ;postedBy), um das Ergebnis auszugeben. Wenn es sich um ein Array handelt, können Sie einfach mithilfe der Array-Notation auf die Namenseigenschaft zugreifen:

{{ $article->postedBy['name'] }}

Wenn Sie alternativ über die Modellbeziehung auf die Namenseigenschaft zugreifen möchten, stellen Sie sicher, dass das $article-Objekt selbst nicht null ist und dass die „postedBy“-Beziehung korrekt definiert und abgerufen wurde. Überprüfen Sie außerdem, ob das Namensfeld in der Datenbanktabelle Ihres Benutzers vorhanden ist.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Laravel 5 den Fehler „Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn