Rails:多对多关系连接表设计

时间:2016-08-30 06:54:14

标签: ruby-on-rails database

模型材料&经理是多对多的关系,
这意味着材料需要由许多经理检查,经理检查许多材料。

ManageMaterial是具有属性的连接表

material_id
manager_id

我将一些数据加载到连接表中,就像这样

id          manager_id     material_id                  
----------  ----------  ----------- 
1           6           52           
2           8           52
3           2           12
4           5           12

现在我想显示正在检查哪些材料,在这个例子中我只想要一个material_id = 52的项目,但是如果我做@items = ManageMaterial.all,它将返回两个项目。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果您希望ManageMaterial没有重复:

@items = ManageMaterial.select("DISTINCT(material_id)")

如果您想要一个ManageMaterialmaterial_id

@items = ManageMaterial.find_by_material_id(52)