正如标题所说,我想在我的Rails3应用程序中从一对一的关系转变为多对多的关系。
我现在对rails相当在行,但是我对数据库和迁移缺乏很好的理解。
目前,我有一个项目和用户模型。项目belongs_to用户和用户has_many Projects。我希望进入这样一种情况:一个项目可以同时有多个用户协作。
我非常确定我需要建立一种has_many :直通类型的关系,但我也很好奇如何将我所有现有的项目和用户迁移到这种类型的系统中。
谢谢!
发布于 2011-01-19 07:04:26
您需要另一个将这两个表链接在一起的表。这就是如何支持多对多关系。
例如,假设你有两个这样的表:
Projects
----------
projectid
{other columns}
Users
-------
userid
{other columns}新表将如下所示: new table
Projects_Users
--------------
projectid
userid现在,只需将用户add和项目add添加到Projects_Users表中,就可以将另一个用户添加到项目中。类似地,您可以将多个用户添加到同一个表中的一个项目中。
该表上的主键是复合键projectid & userid。
https://stackoverflow.com/questions/4730015
复制相似问题