Gelöst - Versuch, Eigentum von Nicht -Objekten zu bekommen - Laravel

Gelöst - Versuch, Eigentum von Nicht -Objekten zu bekommen - Laravel

Problem

Ich versuche, den Namen des Benutzers in meinem Artikel wiederzugeben, und ich bekomme das Errorexception: Versuch, die Eigenschaft von Nicht-Objekten zu erhalten. Meine Codes:

Modelle

1. Nachricht

Klassennachrichten erweitern das Modell

öffentliche Funktion gepostetBy ()

$ this->

geschützt $ table = 'news';
geschützt $ filable = ['Newscontent', 'Newstitle', 'Gepostet'];

2. Benutzer

Class User erweitert das Modell implementiert authenticatableContraction,
AutorizableContract,
CanresetPasswordcontract

Verwenden Sie authentikatable, maßgebliche Canresetpassword;
geschützt $ table = 'user';
geschützt $ filable = ['name', 'mail', 'password'];
geschützt $ hidden = ['password', 'remember_token'];

Regler

öffentliche Funktion Showarticle ($ Slug)

$ article = news :: wo ('slug', $ slug)-> firstorfail ();
Rückgabeansicht ('Artikel', Compact ('Artikel'));

Klinge

$ artik-> postby-> name

Wenn ich versuche, den Namen in der Klinge zu entfernen $ artik-> postby es gibt die aus Ausweis, Aber wenn ich versuche, den Namen -> dort hinzuzufügen, heißt es Versuch, Eigentum von Nicht-Objekten zu bekommen Aber ich habe einen Feldnamen in meiner Tabelle und a Benutzer Modell. Vermisse ich etwas?

Lösung

Ist Ihre Abfrage ein Array oder Objekt zurückgegeben?? Wenn Sie es ausgeben, stellen Sie möglicherweise fest, dass es sich um ein Array handelt und Sie nur einen Array-Zugriff ([]) anstelle eines Objektzugriffs (->) ist ein Array-Zugriff ([]).

Zweite Meinung

$ artik-> poster-> name

Zu

$ article-> poster ['name']

Als nächstes fügen Sie einen zweiten Parameter in meinem Hingehören hinzu, von

$ this->

Zu

$ this->

in welchem Benutzer-ID ist mein fremder Schlüssel in der News -Tabelle.