首页 > 解决方案 > 以活动记录/ arel DB 不可知的方式编写以下 sql

问题描述

我得到了以下 sql 表达式

g.date > CURRENT_DATE + INTERVAL '1' 天 * t.notice_days

它适用于 postgres 并通过我的应用程序作为原始 sql,是否有一种优雅的 Active Record / AREL 方式来编写相同的表达式?

标签: ruby-on-railsrails-activerecordarel

解决方案


假设您可以获得的整数版本t.notice_days并且G是您应该能够做到的模型:

future_time = t.notice_days.days.from_now
g.where("data > ?", future_time)

您也可以将 future_time 设置为Time.now + t.notice_days.days


推荐阅读