我想知道你将如何模拟has_many:通过使用AR调用。Rails:has_many活动记录查询
最终,我试图找到属于网站的子类别,而不是顶级类别,这是查询目前给我的。
型号:
class Categories < AR
:has_many :subcategories, :through => :cat_subcat_links
:has_many :cat_subcat_links
end
衔接模式:
class CatSubcatLinks < AR
:category_id
:subcategory_id
:site_id
end
此刻,如果我想获得哪些类别属于特定的网站,我执行:
Category.joins(:cat_subcat_links).where(:cat_subcat_links => {:site_id => 1})
的查询返回:
SELECT `categories`.* FROM `categories` INNER JOIN `cat_sub_links` ON `cat_sub_links`.`category_id` = `categories`.`id` WHERE `cat_sub_links`.`site_id` = 1
问题是
`cat_sub_links`.`category_id` = `categories`.`id`
我需要它说
`cat_sub_links`.`subcategory_id` = `categories`.`id`
这将导致查询返回我的子类别。思考?
在先进的感谢,
贾斯汀
谢谢卢克,你的回答是对的,但在我的具体情况下,我无法建立这种关系。 – Justin