【问题标题】:Rails Models: Can one belong and yet have many?Rails 模型:一个人可以拥有很多人吗?
【发布时间】:2013-12-16 08:00:21
【问题描述】:

假设我在数据库中有两个表:一个用户和一个文章。用户创建文章,但文章也可以保存到不同用户的列表中(这些只是示例,不要问我为什么要这样做)。这种关系如何在数据库中表示,因为一个集合与用户建立了一对一的关系,但同时如果他们将它添加到他们的项目中,它也可能有很多用户?是否可能出现以下情况(我在 Rails 中编写)?

class User

  #something

end

class Article

  belongs_to :user
  has_many :users

end

或者您是否需要添加一个额外的列表表?

class User

  has_many :lists
  has_many :articles, through: :lists

end

class Article

  has_many :lists
  has_many :users, through: :lists

end

class List

  belongs_to :user
  belongs_to :article

end

【问题讨论】:

    标签: ruby-on-rails database-design relational-database rails-models


    【解决方案1】:

    第二种方法确实是你会怎么做。此外,您还可以像在第一种方法中那样,在 ArticleUser 之间建立一个单独的 belongs_to :user 关系来表明作者身份。

    【讨论】:

      猜你喜欢
      • 2018-02-15
      • 2012-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多