我有用户,帖子和评论。帖子属于用户。用户有很多帖子。
现在我感到困惑的是,用户应该能够对其他人的帖子发表评论。 如何设置此关联?
我应该写用户有很多评论,帖子有很多评论,评论属于帖子和用户吗?或者用户通过帖子发表了很多评论? 模型表还应包含哪些列?它需要user_id,post_id,content?
答案 0 :(得分:1)
使用has_many :through Association
用户模型:
has_many :posts
has_many :comments, :through => :posts
发布模型:
belongs_to :user
has_many :comments
评论模型:
belongs_to :post
belongs_to :user
答案 1 :(得分:0)
你第一次说得对。
用户有很多评论。帖子有很多评论。评论属于User。评论属于Post。
评论表应该有user_id和post_id。
所以user.comments
将是用户发表的评论。 post.comments
将对该帖子发表评论。
这是一个关联,说“此用户评论了这篇文章。”