@xiiicool

Почему не получается получить данные из связей Laravel?

есть модель post и модель users

связь
public function whoCreated()
{
return $this->HasOne(User::class,'id', 'whoCreated');
}
Получаю пост Post::with('whoCreated')->find($id);

если переводить в массив то данные можно получить $post['who_created']['name'];
но если обращаться к объекту $post->who_created то пусто, может както надо по другому получать данные relation?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@jazzus
//в модели Post
public function user()
{
  return $this->belongsTo('App\User','user_id', 'id');
}
// в контроллере
Post::with('user')->find($id);
// в шаблоне
{{$post->user->name}}

Лучше сразу переименовать, как я написал, чтобы потом не мучится с рефакторингом. В отношении смысл в том, что пост принадлежит юзеру. А юзеры имеют посты. Поэтому для поста belongsTo
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы