Вы должны установить внешний ключ в отношениях articleComments
и article
:
Eloquent определяет имя внешнего ключа по умолчанию, проверяя имя метода отношения и добавляя суффикс имени метода к _id. Тем не менее, вы можете передать имя пользовательского ключа в качестве второго аргумента в методе assignTo:
Артикул Модель
public function articleComments()
{
return $this->hasMany('App\ArticleComments','commented_article_id');
}
ArticleComments Model
public function article()
{
return $this->belongsTo('App\Article','commented_article_id');
}
Вы можете получить комментарии к статье, используя отношение:
$article = Article::find($id);
$article->articleComments; // This will return all comments for the given article
Вы можете использовать цикл foreach и получать доступ к каждому атрибуту из каждого комментария:
foreach($article->articleComments as $comment)
{
echo $comment->id;
echo $comment->user->id;
echo $comment->user->username;
.
.
.
}
Вы можете получить доступ к пользователю и любому из его атрибутов, просто вызвав отношение в своем комментарии, как я делал выше.
Для получения дополнительной информации: нажмите здесь.
Примечание: я настоятельно рекомендую изменить название вашей модели на Комментарий , мы не используем названия моделей во множественном числе, всегда в единственном числе.