我在 Rails 中有三个模型,Project(date, has_many :project_savings), Usage(month, amount, has_many :project_savings) 和 MonthlyProjectSaving(amount, belongs_to :usages, :projects)。
它的设置使每个项目都有一定数量的节省,这些节省对应于使用月份的数量。我正在尝试找到所有具有相应project.date
>=的项目节省usage.month
,并且usage.amount == 0
以最安全的方式进行。usage.month
并且project.date
都是日期类型。
下面基本上是我想要得到的,但我尝试了很多方法,但无法正确使用语法。
在我的项目显示视图中:
s = @project.monthly_project_savings
s.where(s.usage.month >= @project.date).where(s.amount: 0)
我更喜欢一个不会让它对 SQL 注入开放的解决方案。干杯!