到目前为止的动态天数

时间:2015-03-18 15:49:07

标签: ruby-on-rails ruby postgresql dynamic

我试图开始查询我需要所有属性的查询,其付款在X天内到期。 X由财产的社区定义,我现在拥有以下内容:

Property.joins(:community).joins(:payments).where("payments.expiration_date = current_date + interval communities.sms_defaulting_days + ' days'")

哪个不起作用,因为它无法识别社区(我相信它是一个解析问题),我得到的错误是:

PG::SyntaxError: ERROR:  syntax error at or near "communities"

这对我有意义。

我想要实现的是查询的最后部分应如下所示:

payments.expiration_date = current_date + interval '2 days'

我从" community.sms_defaulting_days"

获得2

考虑它的另一种方式是" expiration_date = 2.days.from_now",但我仍然遇到同样的问题,因为我不知道如何让它动态地工作。

1 个答案:

答案 0 :(得分:0)

尝试将代码编写为:

Property.joins(:community)
        .joins(:payments)
        .where("payments.expiration_date = current_date + (communities.sms_defaulting_days || ' days')::interval")