Я пытаюсь получить запрос, в котором мне нужны все свойства, чьи платежи истекли за 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'
И я получил бы 2 из «community.sms_defaulting_days»
Еще один путь подумать об этом «expiration_date = 2.days.from_now», но у меня все еще есть та же проблема, что и я не знаю, как заставить ее работать динамически.
Replace 'интервал communities.sms_defaulting_days + 'days'', как'' # {communities.sms_defaulting_days} дней :: INTERVAL' .. и дайте мне знать. –
Есть '.where (" payments.expiration_date = DATE_ADD (# {current_date}, INTERVAL # {interval}) ")' все ближе к тому, чего вы пытаетесь достичь? – sebkkom
@sebkomianos, что бы это было в этом случае? Мне нужно извлечь дату в зависимости от сообщества свойства. – Waclock