Sto cercando di echeggiare il nome dell'utente nel mio articolo e sto ricevendo il ErrorException: Trying to get property of non-object
. I miei codici:Cercando di ottenere la proprietà di non oggetto - Laravel 5
Modelli
1. News
class News extends Model
{
public function postedBy()
{
return $this->belongsTo('App\User');
}
protected $table = 'news';
protected $fillable = ['newsContent', 'newsTitle', 'postedBy'];
}
2. User
class User extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword;
protected $table = 'users';
protected $fillable = ['name', 'email', 'password'];
protected $hidden = ['password', 'remember_token'];
}
schema
tavolo users
tavolo news
controller
public function showArticle($slug)
{
$article = News::where('slug', $slug)->firstOrFail();
return view('article', compact('article'));
}
lama
{{ $article->postedBy->name }}
Quando provo a rimuovere il nome nella lama {{ $article->postedBy }}
emette il id
, ma quando provo ad aggiungere il -> nome lì dice Trying to get property of non-object
ma ho un campo name
nella mia tabella e un modello User
. Mi sto perdendo qualcosa?
Puoi 'print_r ($ article);'? – aldrin27
@ aldrin27 print_r direttamente nel mio controller? beh, in realtà tutto funziona, ottengo ogni campo ma non riesco a ottenere la relazione. Mi dà l'errore – FewFlyBy
È necessario tenerlo all'interno della lama. – aldrin27