阿男的小窝

View the Project on GitHub

Ruby On Rails中的Many-To-Many关系

本文介绍RoR的多对多表单使用。

首先创建两张表,分别是EventProperty

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

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

上面的内容说明:

  1. 连接数据库。
  2. 显示tables。
  3. 查看生成的events表。
  4. 查看生成的properties表。
  5. 查看多对多的中间关系表。

然后通过rails console,测试对数据class的使用:

上面的内容说明:

  1. 创建一条events表的数据。
  2. 创建一条properties表的数据。
  3. 因为eventsproperties是多对多的关系,因此通过ruby的数据结构做关联。
  4. 保存event数据。
  5. 可以看到一共产生了三条SQL语句:event,相关的property,和它们的中间关系,这三种数据,都被映射并保存到数据库的三张表里面去了。
  6. 删除property数据。
  7. 可以看到,这条property数据对应的中间关系数据也一起被连带删去了。

从上面的例子可以学习到,RoR的多对多映射是会自动操作底层相关的数据库表的。