0

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

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

1 回答 1

1

假设fund_id是表中的字符串字段gifts,您可以使用not like

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

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


如果fund_id 外键,并且模型belongs_to :fund内部有一个Gift,则可以使用joinsand not like

Gift.joins(:fund).where("funds.name not like 'X%").between....

这假定funds表中的字段被调用name

于 2012-10-17T18:12:16.907 回答