【问题标题】:Rails - call method on a field within a where clause [duplicate]Rails - 在where子句中的字段上调用方法[重复]
【发布时间】:2015-05-14 18:57:55
【问题描述】:

我想从今天提取汇率(即汇率有一个DateTime 类型的time 字段,我想从中提取day)。我想做这样的事情:

ExchangeRates.where("time.day == ?", pred.time)

这样的事情可能吗?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您的数据库中没有DateTime 对象,其工作方式与Rails 中的DateTime 对象类似。为了查询,您必须向它发送它可以理解的内容,例如 BETWEEN 子句。你可以这样做:

    ExchangeRates.where(time: pred.time.beginning_of_day..pred.time.end_of_day)
    

    我假设 pred 是一个 DateTime 对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 2018-05-31
      相关资源
      最近更新 更多