任何人都知道在Rails 3.1中查找创建记录的最佳查询?如何查找本月在Rails 3.1中创建的记录?
回答
class Model
scope :this_month, -> { where(created_at: Time.now.beginning_of_month..Time.now.end_of_month) }
end
你可以这样调用:
Model.this_month
整洁干净,+1 – apneadiving
做到这一点干活的SQLite?我试图在sqlite中运行它并抛出 ActiveRecord :: StatementInvalid:SQLite3 :: SQLException:near“<”:语法错误:SELECT“orders”。* FROM“orders”WHERE(created_at>'2011-11- 01 04:00:00.000000'和<'2011-12-01 04:59:59.999999') \t from /Users/mrchess/.rvm/gems/ruby-1.9.2-p290/gems/sqlite3-1.3.4 /lib/sqlite3/database.rb:91:in'initialize' – kidcapital
嗯,试试'BETWEEN':''created_at BETWEEN?AND?“' –
取决于如果您寻找所有型号的所有记录或特定模型等等
对于单一的模型,你可以这样做:
User.where('created_at >= ? and created_at <= ?', Time.now.beginning_of_month, Time.now.end_of_month)
我更喜欢SQL-少:
Model.where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month)
或作为范围:
class Model < ActiveRecord::Base
scope :this_month, -> { where(:created_at => Time.now.beginning_of_month..Time.now.end_of_month) }
end
提供scope
实施例中的答案是错误的。 Rails使用范围的热切评估,因此Time.now.beginning_of_month
将始终是范围初步评估的月份的开始。在范围中使用日期的正确方法是将lambda传递给scope
。
class Model < ActiveRecord::Base
scope :this_month, -> { where(created_at: Time.now.beginning_of_month..Time.now.end_of_month) }
end
在Rails 4米范围必须使用一个可调用的对象,如Lambda
或Proc
- 1. 如何在Rails 3.1中查找下周的日期记录?
- 2. 如何查找上个月的记录?
- 3. 如何按月查找记录Datamapper
- 4. 在Ruby on Rails中查找或创建多条记录 - “find_or_create_all”
- 5. 在rails中创建时创建两个版本的记录
- 6. 创建记录后,Rails如何自动创建关联记录?
- 7. 在Rails 3.1中创建一种向表中添加新记录的方法
- 8. SQLite:按月创建组记录并获得每月记录数
- 9. Ruby/Rails - 在创建子记录时隐式创建父记录?
- 10. Rails 3.1 - 创建多条记录然后编辑
- 11. Rails 3.1创建记录而不是更新?
- 12. rails-在连接表中创建记录
- 13. Rails的排除查询与活动记录 - Rails的3.1
- 14. 如何检查在RSpec/Rails的所有模型中是否未创建记录?
- 15. 在Rails中,如何通过“不等于”来查找记录
- 16. 查找记录由1个月前
- 17. 如何获取本月的记录?
- 18. 如何在Rails 3.1中创建无限层次的html树?
- 19. Rails 3.1:查询Postgres在时间范围内的记录
- 20. 在一个调用/查询中创建多个Rails ActiveRecord记录
- 21. 如何在DataSet中查找记录?
- 22. 创建记录历史记录表 - 如何创建创建记录?
- 23. 如何从rails的另一个表中查找记录?
- 24. MongoDB在上周创建的查询记录中查找,并始终如此
- 25. 如何在引用另一个创建记录的seeds.rb中创建记录
- 26. sql query显示本月创建的记录
- 27. Rails 3.1在Rails中没有记录到Development.log
- 28. Rails 3.1查找通过AJAX发送的ID数组过滤的记录
- 29. 查找最近的Rails记录过去
- 30. 如何在Subversion版本库历史记录中查找文件?
您应该添加更多的细节......像模型定义 – lucapette