【问题标题】:Writing the following sql in active record / arel DB agnostic way以活动记录/ arel DB 不可知的方式编写以下 sql
【发布时间】:2019-08-13 13:33:29
【问题描述】:

我得到了下面的sql表达式

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

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

【问题讨论】:

  • 您能否提供更多背景信息。 g 和 t 是哪些表/模型?您是否正在执行连接以将t 带入查询?
  • g 和 t 是表名

标签: ruby-on-rails rails-activerecord arel


【解决方案1】:

假设您可以获得整数版本的 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

【讨论】:

  • t.notice_days 是列名,每行不同。
猜你喜欢
  • 2015-10-27
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多