我试图开始查询我需要所有属性的查询,其付款在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",但我仍然遇到同样的问题,因为我不知道如何让它动态地工作。
答案 0 :(得分:0)
尝试将代码编写为:
Property.joins(:community)
.joins(:payments)
.where("payments.expiration_date = current_date + (communities.sms_defaulting_days || ' days')::interval")