Попытка получить свойство 'name' необъекта в системе комментариев Laravel - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь заставить имя пользователя автора отображать те комментарии, которые они написали, при отображении комментариев на странице. У меня ошибка «Попытка получить свойство name для необъекта»


Контроллер:

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);
    }

Я хочу использовать отношения. Спасибо за помощь! :)

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

В модели пользователя:

public function comments()
  {
      return $this->hasMany(Comment::class); // change Comments to Comment here
  }

В комментариях модель:

public function user()
    {
        return $this->belongsTo(User::class);
    }
0 голосов
/ 29 августа 2018

Измените отношение в модели Comment на это:

public function user()
    {
        return $this->belongsTo(User::class);
    }

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...