任何人都知道在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