Я пытаюсь получить имя пользователя автора, чтобы отображать те комментарии, которые они написали, при отображении комментариев на странице. Возникла ошибка «Пытаюсь получить имя свойства не-объекта»
Контроллер:
public function index(Site $site)
{
$comments=Comments::where('siteId', $site->id)->get();
return view('admin.comments.show', compact('comments'));
}
Вид:
@foreach($comments as $comment)
{{$comment->user->name}}
@endforeach
Модель пользователя:
public function comments()
{
return $this->hasMany(Comments::class);
}
Модель комментария:
public function comments()
{
return $this->belongsTo(User::class);
}
Я хочу использовать отношения. Спасибо за помощь! :)
Да @Phiter, и это было ошибкой






Измените отношение в модели Comment на это:
public function user()
{
return $this->belongsTo(User::class);
}
Это должно сработать.
В пользовательской модели:
public function comments()
{
return $this->hasMany(Comment::class); // change Comments to Comment here
}
В модели комментариев:
public function user()
{
return $this->belongsTo(User::class);
}
В вашей модели комментариев действительно ли отношения пользователей называются комментариями?