Я пытаюсь отобразить имя пользователя в моей статье, и я получаю ErrorException: Trying to get property of non-object
. Мои коды:Пытается получить свойство не объекта - Laravel 5
Модели
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'];
}
схемы
стол users
стол news
Контроллер
public function showArticle($slug)
{
$article = News::where('slug', $slug)->firstOrFail();
return view('article', compact('article'));
}
клинка
{{ $article->postedBy->name }}
При попытке удалить имя в лезвии {{ $article->postedBy }}
он выводит id
, но когда я пытаюсь добавить -> там там написано Trying to get property of non-object
, но у меня есть поле name
в моем столе и модель User
. Я что-то упускаю?
Можете ли вы 'print_r ($ article);'? – aldrin27
@ aldrin27 print_r прямо в моем контроллере? ну на самом деле все работает, я получаю все поля, но я не могу получить отношение. Это дает мне ошибку – FewFlyBy
Вам нужно сделать так, чтобы внутри вашего лезвия. – aldrin27