【问题标题】:Arel `between` with other columns as rangeArel `between` 与其他列作为范围
【发布时间】:2015-09-30 09:09:23
【问题描述】:

似乎 Arel 的 Between 谓词只能用于范围,例如

between(1.day.ago.time..Time.current)

有谁知道将它与其他列一起使用的方法吗?喜欢

between(table[:since]..table[:till]) 

(最后一个不起作用,但它显示了一个想法)。 最后我想要

column BETWEEN table.since AND table.till

【问题讨论】:

  • 您可以随时使用find_by_sql

标签: ruby-on-rails ruby arel


【解决方案1】:

要生成table.field BETWEEN another_table.from AND another_table.to,请使用此arel 代码:

Arel::Nodes::Between.new(
  table[:field],
  Arel::Nodes::And.new(
    [
      another_table[:from],
      another_table[:to]
    ]
  )
)

就我而言,我将此代码放入.and() arel 方法中。

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2013-01-27
    • 2013-01-18
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多