我想搜索某个月份的所有声明。“declaration_date”是一个日期时间属性。我有这个,但它失败了,有什么想法吗?
declaration = Declarations.all(:conditions => ['declaration_date.strftime("%-m") = 2')
我想搜索某个月份的所有声明。“declaration_date”是一个日期时间属性。我有这个,但它失败了,有什么想法吗?
declaration = Declarations.all(:conditions => ['declaration_date.strftime("%-m") = 2')
我希望 strftime 返回一个字符串,并且您将它与整数 2 进行比较。尝试将其与字符串 '2' 进行比较。
declaration = Declarations.all(:conditions => ["'declaration_date.strftime("%-m") = '2'")
您想在特定年份的一个月内进行申报吗?如果是这样,请尝试以下操作:
time_range = (DateTime.new(2001,2,3) - 1.month)..DateTime.new(2001,2,3)
declaration = Declaration.where( 'declaration_date' => time_range )
您可以按照此技术在几年内的同一个月内获得声明。
另请参阅 Active Record 查询接口文档http://guides.rubyonrails.org/active_record_querying.html的第 11.3 节