【问题标题】:Joins across more than two tables with activerecord使用 activerecord 连接两个以上的表
【发布时间】:2009-08-26 05:27:28
【问题描述】:

不久前我问过(使用 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 等表的解决方案。

非常感谢帮助我的人。

【问题讨论】:

    标签: ruby-on-rails ruby activerecord


    【解决方案1】:

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

    尽可能深地筑巢。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 所以在 Foo 中,我会告诉它包含 Bar 并告诉 Bar 包含 Baz,这样就可以很容易地从 Foo 跳转到 Baz?
      猜你喜欢
      • 1970-01-01
      • 2021-12-26
      • 2010-12-31
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多