Lahendatud-üritab omandada mitteobjekti vara-Laravel

Solved Trying Get Property Non Object Laravel



Probleem

Proovin oma artiklis kasutaja nime kajastada ja saan | _+_ |. Minu koodid:

Mudelid

1. Uudised







klassiUudisedulatubMudel
{
avalik funktsioonipostitanud:()
{
tagasi $ see->kuulub(„Rakendus kasutaja”);
}
kaitstud $ tabel = 'uudised';
kaitstud $ täidetav = ['newsContent', 'newsTitle', 'postitanud'];
}

2. Kasutaja



klassiKasutajaulatubMudelrakendabAutentitav leping,
Autoriseeritav leping,
CanResetPasswordContract
{
kasutadaAutentitav,Autoriseeritav,CanResetPassword;

kaitstud $ tabel = 'kasutajad';

kaitstud $ täidetav = ['nimi', 'email', 'parool'];

kaitstud $ peidetud = ['parool', 'mäleta_token'];

}

Kontroller

avalik funktsioonishowArticle($ nälkjas)
{
$ artikkel =Uudised::kus('nälkjas', $ nälkjas)->firstOrFail();
tagasivaade('artikkel', kompaktne ('artikkel'));
}

Tera

{{ $ artikkel->postitanud:->nimi }}

Kui proovin teralt nime eemaldada | _+_ | see väljastab | _+_ |, kuid kui proovin lisada -> nime, ütleb see | _+_ | aga mul on tabelis välja nimi ja | _+_ | mudel. Kas mul jääb midagi kahe silma vahele?



Lahendus

Kas teie päring tagastab massiivi või objekti? Kui selle välja viskate, võite avastada, et see on massiiv ja vajate ainult juurdepääsu massiivile ([]), mitte objektile juurdepääsu (->) asemel.





Teine arvamus

$ artikkel->plakat->nimi

et

$ artikkel->plakat['nimi']

Järgmisena lisan teise parameetri saidile ownTo, alates



tagasi $ see->kuulub(„Rakendus kasutaja”);

et

tagasi $ see->kuulub(„Rakendus kasutaja”, 'kasutaja ID');

milles | _+_ | on minu välisvõti uudiste tabelis.