使用activerecord连接两个以上的表

时间:2009-08-26 05:27:29

标签: ruby-on-rails ruby activerecord

前一段时间我问过(使用带有命名范围的ActiveRecord连接多个表)Joins across multiple tables with ActiveRecord with named scopes

现在我需要创建一个命名范围,涉及跨两个表连接,例如:

named_scope :baz_category, lambda {|c| {:joins=>([:foo,:bar,:baz]):conditions=>['baz_cat=',c]}}

Foo有一个Bar和Bar有一个Baz。

我想要一个适用于第4或第5等表的解决方案。

很多人要感谢帮助我的人。

2 个答案:

答案 0 :(得分:3)

named_scope :baz_category, lambda { |c| :joins => {:foo => { :bar => :baz } }

尽可能深地嵌套。

答案 1 :(得分:1)

您是否考虑过使用eager loading?文档很详细,有很好的例子。