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!