Ruby On Rails中的Many-To-Many关系
本文介绍RoR的多对多表单使用。
首先创建两张表,分别是Event和Property:


然后是多对多的中间关系表:

生成的数据库表结构如下:

上面的内容说明:
- 连接数据库。
- 显示tables。
- 查看生成的
events表。 - 查看生成的
properties表。 - 查看多对多的中间关系表。
然后通过rails console,测试对数据class的使用:

上面的内容说明:
- 创建一条
events表的数据。 - 创建一条
properties表的数据。 - 因为
events和properties是多对多的关系,因此通过ruby的数据结构做关联。 - 保存
event数据。 - 可以看到一共产生了三条SQL语句:
event,相关的property,和它们的中间关系,这三种数据,都被映射并保存到数据库的三张表里面去了。 - 删除
property数据。 - 可以看到,这条
property数据对应的中间关系数据也一起被连带删去了。
从上面的例子可以学习到,RoR的多对多映射是会自动操作底层相关的数据库表的。