我正在尝试寻找是否有一种使用 Rails/AR 查询我的数据库的有效方法。我是新手,所以感谢您提供任何提示。
我正在尝试查询属于特定类别的所有项目。当用户转到/categories/5 时,他们应该看到类别 5 中的所有项目。
模型:
- 项目
- 标签 (又名 Items_Categories)
- 类别
标签是连接表。我成功查询了来自该类别的所有标签。我只是不确定如何查询这些标签中的所有项目。换句话说,我已经到达连接表,只是不确定如何连接到另一端。
标签架构:
- 编号
- 类别编号
- item_id
这是我的 Controller 到目前为止的内容:
categoryLabels = Label.where(category_id: params[:id])
categoryItems = ???
render json: categoryItems
这是我正在查看的查询示例,试图决定如何获取类别为 5 的项目。我想“提取”给定中每个项目的(数组?)类别。我很想遍历 categoryLabels,但我不确定这是否正确/有效。
select * from labels;
id | category_id | item_id
1 5 22
2 5 17
3 2 50
最佳答案
尝试提取 ActiveRelation 对象来检索数组,如下所示:
categoryItems = categoryLabels.pluck(:item_id) # [22, 17, 50]
关于mysql - 在这种多对多关系中查询项目的有效方法是什么? ( rails ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506395/