在Rails中按日期搜索的最佳方法是什么?

时间:2010-08-08 22:16:01

标签: ruby-on-rails

HI

在rails中实现简单搜索以检索具有相同日期的所有模型的最佳方法是什么?

例如,检索所有具有生日日期的客户,日期为23-10-1975,具有日期格式。

  create_table "customer", :force => true do |t|
    t.string   "f_name"
    t.string   "m_name"
    t.string   "l_name"
    t.date     "date_of_birth" 
end

2 个答案:

答案 0 :(得分:3)

我认为你想祝贺今天过生日的所有用户? 好吧,我现在不在开发机器上,所以我无法测试它,但我会选择这样的东西:

@bday_customers = Customer.find(:all, :conditions => { :birthday => Date.today } )

甚至

@bday_customers = Customer.find(:all, :conditions => { :birthday => (Date.today)..(Date.today + 2.weeks) } )

这将使您的数据库完成为此类搜索优化的工作。

答案 1 :(得分:1)

假设date是23-10-1975形式的字符串,那么就像这样;

Customer.all(:conditions => { :date_of_birth => Date.strptime(date, '%d-%m-%Y') })