首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中从一对一关系转变为多对多关系

在rails中从一对一关系转变为多对多关系
EN

Stack Overflow用户
提问于 2011-01-19 06:56:43
回答 1查看 330关注 0票数 0

正如标题所说,我想在我的Rails3应用程序中从一对一的关系转变为多对多的关系。

我现在对rails相当在行,但是我对数据库和迁移缺乏很好的理解。

目前,我有一个项目和用户模型。项目belongs_to用户和用户has_many Projects。我希望进入这样一种情况:一个项目可以同时有多个用户协作。

我非常确定我需要建立一种has_many :直通类型的关系,但我也很好奇如何将我所有现有的项目和用户迁移到这种类型的系统中。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-01-19 07:04:26

您需要另一个将这两个表链接在一起的表。这就是如何支持多对多关系。

例如,假设你有两个这样的表:

代码语言:javascript
复制
Projects
----------
projectid
{other columns}    

Users
-------
userid
{other columns}

新表将如下所示: new table

代码语言:javascript
复制
Projects_Users
--------------
projectid
userid

现在,只需将用户add和项目add添加到Projects_Users表中,就可以将另一个用户添加到项目中。类似地,您可以将多个用户添加到同一个表中的一个项目中。

该表上的主键是复合键projectid & userid。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4730015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档