Risolto - cercando di ottenere proprietà di non oggetto - Laravel

Risolto - cercando di ottenere proprietà di non oggetto - Laravel

Problema

Sto cercando di echeggiare il nome dell'utente nel mio articolo e sto ottenendo il Errorexception: cercando di ottenere proprietà di non oggetto. I miei codici:

Modelli

1. Notizia

La notizia della classe estende il modello

funzione pubblica postBy ()

restituire $ this-> betchsto ('app \ user');

protetto $ table = 'notizie';
Protected $ FILLABLE = ['NewsContent', 'NewStitle', 'postBy'];

2. Utente

L'utente di classe estende il modello implementa autenticatableContract,
AutorizableContract,
CanResetPasswordContract

Usa CanResetPassword autenticabile, autorizzabile;
protetto $ table = 'utenti';
Protected $ FILLABLE = ['name', 'email', 'password'];
protetto $ hidden = ['password', 'ricorda_token'];

Controller

Funzione pubblica ShowArticle ($ SLUG)

$ Articolo = News :: Where ('Slug', $ Slug)-> FirstorFail ();
return view ('articolo', compact ('articolo'));

Lama

$ Articolo-> PostBy-> Nome

Quando provo a rimuovere il nome nella lama $ Articolo-> POSTEBY emette il id, Ma quando provo ad aggiungere il -> nome lì dice Cercando di ottenere proprietà di non oggetto Ma ho un nome di campo nel mio tavolo e a Utente modello. Mi sto perdendo qualcosa?

Soluzione

La tua query è un array o un oggetto? Se lo scarichi, potresti scoprire che è un array e tutto ciò di cui hai bisogno è un accesso per array ([]) anziché un accesso agli oggetti (->).

Seconda opinione

$ Articolo-> Poster-> Nome

A

$ Articolo-> poster ['name']

Il prossimo è aggiungere un secondo parametro nel mio appartenenza, da

restituire $ this-> betchsto ('app \ user');

A

restituire $ this-> betchsto ('app \ user', 'user_id');

in quale ID utente è la mia chiave straniera nella tabella delle notizie.