Løst-Forsøger at få ejendom af ikke-objekt-Laravel

Solved Trying Get Property Non Object Laravel



Problem

Jeg forsøger at gentage brugerens navn i min artikel, og jeg får | _+_ |. Mine koder:

Modeller

1. Nyheder







klasseNyhederstrækker sigModel
{
offentlig fungereSendt af()
{
Vend tilbage $ dette->tilhører('App bruger');
}
beskyttet $ bord = 'nyheder';
beskyttet $, der kan udfyldes = ['nyhedsindhold', 'newsTitle', 'Sendt af'];
}

2. Bruger



klasseBrugerstrækker sigModelredskaberAutentisk kontrakt,
Autoriserbar kontrakt,
CanResetPasswordContract
{
brugAutentisk,Godkendt,CanResetPassword;

beskyttet $ bord = 'brugere';

beskyttet $, der kan udfyldes = ['navn', 'e -mail', 'adgangskode'];

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

}

Controller

offentlig fungereshowArticle($ slug)
{
$ artikel =Nyheder::hvor('slug', $ slug)->firstOrFail();
Vend tilbageudsigt('artikel', kompakt ('artikel'));
}

Klinge

{{ $ artikel->Sendt af->navn }}

Når jeg prøver at fjerne navn i bladet | _+_ | det udsender | _+_ |, men når jeg prøver at tilføje -> navnet der, står der | _+_ | men jeg har et feltnavn i min tabel og en | _+_ | model. Mangler jeg noget?



Løsning

Returnerer din forespørgsel array eller objekt? Hvis du smider det ud, finder du måske ud af, at det er en matrix, og alt du behøver er en array-adgang ([]) i stedet for en objektadgang (->).





Anden mening

$ artikel->plakat->navn

til

$ artikel->plakat['navn']

Næste er at tilføje en anden parameter i mit belongTo, fra



Vend tilbage $ dette->tilhører('App bruger');

til

Vend tilbage $ dette->tilhører('App bruger', 'bruger ID');

hvori | _+_ | er min udenlandske nøgle i nyhedstabellen.