我有一个应用程序,它具有以下模型:-类别-子类别-产品- ProductSubcategory
我的关系如下:
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查询来解决:
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;提前感谢:)
发布于 2016-01-29 05:51:13
您希望通过Subcategory建立关系,即:
class Category < ActiveRecord::Base
has_many :products, through: :subcategories
endhttps://stackoverflow.com/questions/35071968
复制相似问题