任何人都知道在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. 如何按月查找記錄Datamapper
- 3. 從本月查找記錄Datamapper與Sinatra
- 4. 在Ruby on Rails中查找或創建多條記錄 - 「find_or_create_all」
- 5. 在rails中創建時創建兩個版本的記錄
- 6. 創建記錄後,Rails如何自動創建關聯記錄?
- 7. 如何查找月份以獲取給定月份的記錄
- 8. 在Rails 3.1中創建一種向表中添加新記錄的方法
- 9. Rails - 如何在rails中創建示例記錄?
- 10. 查找X天前創建的記錄
- 11. SQLite:按月創建組記錄並獲得每月記錄數
- 12. Rails:在activerecord集合中查找記錄
- 13. Rails 3.1 - 創建多條記錄然後編輯
- 14. Rails 3.1創建記錄而不是更新?
- 15. Ruby/Rails - 在創建子記錄時隱式創建父記錄?
- 16. Rails根據檢查的記錄創建新記錄
- 17. rails-在連接表中創建記錄
- 18. 無法在rails中創建新記錄
- 19. 如何在Postgres中進行查詢按月創建記錄? (:created_at datetime列)
- 20. Rails的排除查詢與活動記錄 - Rails的3.1
- 21. 如何查找記錄,並創建查詢
- 22. 空的子記錄創建後創建父記錄(Rails 4)
- 23. 如何在Rails應用程序中創建記錄的「模板」?
- 24. 如何檢查在RSpec/Rails的所有模型中是否未創建記錄?
- 25. 在Rails中,如何通過「不等於」來查找記錄
- 26. 如何在Rails 3中查找相關記錄
- 27. 如何在Rails 3.1中創建無限層次的html樹?
- 28. 查找記錄創建本週CakePHP的3
- 29. 如何獲取本月的記錄數?
- 30. 如何獲取本月的記錄?
您應該添加更多的細節......像模型定義 – lucapette