簡體   English   中英

如何在Ruby on Rails中的查找/計數條件中使用日期時間

[英]How to use datetime in the condtions of a find/count in Ruby on Rails

我試圖按日期時間計算某個表中的行數。

更具體地說,是在某個月之前,但找不到正確的條件為其編寫條件。

xxx.count(:all, :conditions=> :xxx => yyy)

我有一個日期時間yyyxxx進行比較,但只想比較年份和月份。

更有效的方法是這樣的:

range = Date.today.beginning_of_month..Date.today.end_of_month
Model.count(:conditions => {:date_field => range})

這將生成一個范圍條件,如果您在date_field上具有索引,則該條件將非常快,即使是數百萬行。

我有一個名為by_star的插件/ gem,如果您將gemcutter.org作為源之一,則可以僅使用sudo gem install by_star

該插件可讓您執行以下操作:

Post.by_month("January", :year => 2009)

從2009年1月起,它將返回Post模型中的所有記錄。

這可能有效。

:conditions => ["month(date_field) = ? AND year(date_field) = ?", month, year]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM