首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >has_many到has_many到has_many的关系

has_many到has_many到has_many的关系
EN

Stack Overflow用户
提问于 2016-01-29 05:03:02
回答 1查看 41关注 0票数 2

我有一个应用程序,它具有以下模型:-类别-子类别-产品- ProductSubcategory

我的关系如下:

代码语言:javascript
复制
Category has_many :subcategories

Subcategory belongs_to :category
Subcategory has_many :product_subcategories
Subcategory has_many :products, through: :product_subcategories

Product has_many :product_subcategories
Product has_many :subcategories, through: :product_subcategories

我想访问一个类别中的所有产品。最好的方法是什么?我尝试了Category has_many :product_subcategories,通过::categories,但它不起作用。有没有什么我可以做的?

EDIT:在sql代码中,我的问题可以通过下面的sql查询来解决:

代码语言:javascript
复制
    SELECT products.* FROM products
INNER JOIN product_subcategories
  ON product_subcategories.product_id = products.id
INNER JOIN subcategories
  ON product_subcategories.subcategory_id = subcategories.id
INNER JOIN categories
  ON categories.id = subcategories.category_id
WHERE
  categories.id = 1;

提前感谢:)

EN

回答 1

Stack Overflow用户

发布于 2016-01-29 05:51:13

您希望通过Subcategory建立关系,即:

代码语言:javascript
复制
class Category < ActiveRecord::Base
  has_many :products, through: :subcategories
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35071968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档