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的多对多映射是会自动操作底层相关的数据库表的。