我有一个SQL查询,我试图使用Arel来构建,尝试检查时间戳是否在一定时间之前,如下所示:
SELECT * FROM some_table WHERE updated_at < NOW() - some_table.some_durations;
具体来说,我不确定如何将NOW()
插入到Arel中的查询中,或者指定时间戳应该是过去的某个持续时间。这是我能得到的最接近的,但显然是错误的:
t = SomeTable.arel_table
t.project(Arel.star).where(t[:created_at].lt(t[:some_durations]))
您应该尝试以下操作:
t.project(Arel.star).where(t[:created_at].lt(Arel.sql('NOW() - some_tables.some_durations')))