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

Solved Trying Get Property Non Object Laravel



Problem

Jeg prøver å gjengi brukerens navn i artikkelen min, og jeg får | _+_ |. Mine koder:

Modeller

1. Nyheter







klasseNyheterstrekkerModell
{
offentlig funksjonPostet av()
{
komme tilbake $ dette->tilhører('App bruker');
}
beskyttet $ bord = 'nyheter';
beskyttet $ som kan fylles ut = ['newsContent', 'newsTitle', 'Postet av'];
}

2. Bruker



klasseBrukerstrekkerModellredskaperAutentisk kontrakt,
Autoriserbar kontrakt,
CanResetPasswordContract
{
brukAutentisk,Autoriserbar,CanResetPassword;

beskyttet $ bord = 'brukere';

beskyttet $ som kan fylles ut = ['Navn', 'e -post', 'passord'];

beskyttet $ skjult = ['passord', 'remember_token'];

}

Kontroller

offentlig funksjonshowArticle($ slug)
{
$ artikkel =Nyheter::hvor('mordersnegle', $ slug)->firstOrFail();
komme tilbakeutsikt('artikkel', kompakt ('artikkel'));
}

Blad

{{ $ artikkel->Postet av->Navn }}

Når jeg prøver å fjerne navn i bladet | _+_ | den sender ut | _+_ |, men når jeg prøver å legge til -> navnet der står det | _+_ | men jeg har et feltnavn i tabellen min og en | _+_ | modell. Har jeg gått glipp av noe?



Løsning

Returnerer spørringen din matrise eller objekt? Hvis du slipper det ut, kan du oppdage at det er en matrise, og alt du trenger er en matrisetilgang ([]) i stedet for en objekttilgang (->).





Andre mening

$ artikkel->plakat->Navn

til

$ artikkel->plakat['Navn']

Neste er å legge til en andre parameter i my belongTo, fra



komme tilbake $ dette->tilhører('App bruker');

til

komme tilbake $ dette->tilhører('App bruker', 'bruker-ID');

der | _+_ | er min fremmednøkkel i nyhetstabellen.