Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhalte ich in Laravel den Fehler „Es wird versucht, die Eigenschaft eines Nicht-Objekts abzurufen'?
Umgang mit dem Fehler „Versuch, Eigentum eines Nichtobjekts abzurufen“ in Laravel
Im Kontext des angegebenen Fehlers tritt das Problem auf beim Versuch, auf eine Eigenschaft eines Nicht-Objekts zuzugreifen. Dies tritt normalerweise in Laravel auf, wenn die abgefragten Daten als Array statt als Objekt gespeichert werden.
In Ihrem Szenario tritt dieser Fehler auf, wenn Sie versuchen, den Namen des Benutzers aus dem Nachrichtenartikel anzuzeigen. Der von Ihnen bereitgestellte Code deutet darauf hin, dass Sie auf die Beziehung „postedBy“ zwischen den Modellen „News“ und „Benutzer“ zugreifen. Wie in der bereitgestellten Antwort angegeben, ist es jedoch wichtig zu bestimmen, ob das Ergebnis Ihrer Abfrage ein Array oder ein Objekt ist.
Um dies zu beheben, können Sie die Ergebnisse Ihrer Abfrage ausgeben, indem Sie Folgendes verwenden:
dump($article);
Dies ermöglicht ein besseres Verständnis des Datenformats. Wenn das Abfrageergebnis ein Array ist, müssen Sie über den Array-Zugriff ([]) statt über den Objektzugriff (->) auf die Eigenschaft zugreifen.
$article['postedBy']['name']
Alternativ, wenn das Abfrageergebnis ein eloquentes Modell ist , können Sie den Objektzugriff verwenden:
$article->postedBy->name
Indem Sie sicherstellen, dass Sie auf die richtige Weise auf die Eigenschaft zugreifen, können Sie das Problem „Versuch, die Eigenschaft eines Nicht-Objekts abzurufen“ lösen. Fehler und rufen Sie den Namen des Benutzers erfolgreich aus dem Artikel ab.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Laravel 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!