查找最近的捐款,不包括以X开头的资金

时间:2012-10-17 18:08:03

标签: ruby-on-rails ruby ruby-on-rails-3 methods

我正试图抓住最近捐赠的礼物日期(以美元计)到我的组织,该组织的基金ID不是以X开头(这些是加拿大捐款)。这是我用来提取最近一次捐赠的礼物日期的代码(在控制器中),但它是加拿大的礼物(fund_id = XP05)。如何使用不以X开头的基金ID获得最近的捐赠?

@income_batch = Gift.between(Date.today - 2.weeks, Date.today, :field => :gift_date).order('gift_date DESC').first.gift_date

1 个答案:

答案 0 :(得分:1)

假设fund_idgifts表格中的字符串字段,您可以使用not like

Gift.where("fund_id not like 'X%").between....

你应该避免在字段上使用_id后缀,除非它们是外键,因为Rails惯例规定_id是专门用于此目的。


如果fund_id 是外键,并且您的belongs_to :fund模型中有Gift,则可以使用joins和{{ 1}}:

not like

这假设Gift.joins(:fund).where("funds.name not like 'X%").between.... 表中的字段被称为funds