【发布时间】: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