Laravel关系 - 一篇文章的许多评论,一个用户在一个评论中

发布于 2025-01-20 05:58:53 字数 952 浏览 0 评论 0原文

我有一个帖子模型:

$posts = Post::with('comments')->get();

每个评论都有User_id行,

我想通过每个评论和关系来获得用户。

我在邮政模型中的评论方法

public function comments()
{
    return $this->hasMany(Comment::class);
}

是什么是让用户发表评论的最佳方法?

最终结果:

{ 
  'id': 1,
  'title': 'some title',
  'caption': 'some caption:,
  'comments': [
    { 
      'id': 1,
      'text': 'some text',
      'user_id': 1,
      'user': { 'id':1, 'username': 'something', 'email': '[email protected] } 
    }, 
    { 
      'id': 2,
      'text': 'some text',
      'user_id': 2,
      'user': { 'id':2, 'username': 'something', 'email': '[email protected] } 
    }, 
  ] 
}

I have a Post model:

$posts = Post::with('comments')->get();

and every comment has user_id row

I want to get the user with every comment, with relations.

My comments method in Post model

public function comments()
{
    return $this->hasMany(Comment::class);
}

what is the best approach to get the user with comment?

final result:

{ 
  'id': 1,
  'title': 'some title',
  'caption': 'some caption:,
  'comments': [
    { 
      'id': 1,
      'text': 'some text',
      'user_id': 1,
      'user': { 'id':1, 'username': 'something', 'email': '[email protected] } 
    }, 
    { 
      'id': 2,
      'text': 'some text',
      'user_id': 2,
      'user': { 'id':2, 'username': 'something', 'email': '[email protected] } 
    }, 
  ] 
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

倦话 2025-01-27 05:58:53

您可以将与()添加到模型关系中

这样的

public function comments()
{
    return $this->hasMany(Comment::class)->with('user');
}

应该

you can add with() to the model relation

should be like this

public function comments()
{
    return $this->hasMany(Comment::class)->with('user');
}

please change the user to your model relation

I hope it's helpful

森末i 2025-01-27 05:58:53

您可以在查询中执行此操作

$posts = Post::with('comments.users')->get();

You can do it in your query by

$posts = Post::with('comments.users')->get();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文