Løst - Prøver å få eiendom til ikke -objekt - Laravel

Løst - Prøver å få eiendom til ikke -objekt - Laravel

Problem

Jeg prøver å ekko ut navnet på brukeren i artikkelen min, og jeg får ErrorException: Prøver å få eiendom til ikke-objekt. Kodene mine:

Modeller

1. Nyheter

Klassenyheter utvider modellen

Offentlig funksjon Skrevet av ()

Returner $ this-> hemkeSto ('app \ bruker');

beskyttet $ tabell = 'nyheter';
beskyttet $ fillable = ['newscontent', 'newstitle', 'postby'];

2. Bruker

Klassebruker utvider modellen implementerer autentisk kontratrering,
AutorizableContract,
CanResetPasswordContract

Bruk autentiserbare, autoriserbare, canresetpassword;
beskyttet $ tabell = 'brukere';
beskyttet $ fillable = ['name', 'e -post', 'passord'];
beskyttet $ skjult = ['passord', 'husk_token'];

Kontroller

public Function Showarticle ($ Slug)

$ artikkel = nyheter :: hvor ('slug', $ slug)-> firstorfail ();
Return View ('Article', Compact ('Article'));

Blad

$ artikkel-> postby-> name

Når jeg prøver å fjerne navn i bladet $ artikkel-> postetby det gir ut id, Men når jeg prøver å legge til -> navnet der står det Prøver å få eiendom til ikke-objekt Men jeg har et feltnavn i bordet mitt og en Bruker modell. Har jeg gått glipp av noe?

Løsning

Er spørringen din returnerende matrise eller objekt? Hvis du dumper det ut, kan du oppleve at det er en matrise og alt du trenger er en matriseadgang ([]) i stedet for en objekttilgang (->).

Andre mening

$ artikkel-> Poster-> Navn

til

$ artikkel-> plakat ['navn']

Neste er å legge til en andre parameter i mitt tilhører, fra

Returner $ this-> hemkeSto ('app \ bruker');

til

Returner $ this-> hemkeSto ('app \ bruker', 'user_id');

der bruker-ID er min utenlandske nøkkel i nyhetstabellen.