【问题标题】:Using a scope in a Joins in AR在 AR 的连接中使用范围
【发布时间】:2014-09-01 07:19:55
【问题描述】:

在之前的问题中没有找到答案..

我在模型 A 中有一个作用域

A.activated

它执行非常复杂的查询和连接,但它工作正常。

我想将 A 到 B 表作为 LEFT OUTER JOIN 加入,但只有 A 中在范围内的行

B.joins(:c).joins("LEFT OUTER JOIN a ON a.some_column = c.some_other_column")

【问题讨论】:

  • B 类scope :activated, lambda{ joins("LEFT OUTER JOIN a ON a.some_column = c.some_other_column").joins(:c) }
  • 您应该添加正确答案或验证对您有帮助的答案
  • 还没有找到答案..

标签: sql ruby-on-rails activerecord scope


【解决方案1】:

所以答案是美妙的#merge,不要带着它离开家!

B.joins(:c).joins("LEFT OUTER JOIN a ON a.some_column = c.some_other_column").merge(A.activated)

哒哒!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2023-03-05
    相关资源
    最近更新 更多