![](/img/trans.png)
[英]Rails route that has the url that points to a different model object every day
[英]Rails model - check if a DateTime object is within a day
我有一個模型ExchangeRates
具有類型DateTime
的字段time
。 我想搜索當天的匯率。 我以以下方式嘗試:
per = ExchangeRates.find_by(time: er.time.beginning_of_day..er.time.end_of_day)
但是,這不會在同一天返回ExchangeRate對象。 我該如何糾正?
您可能會得到更好的服務與嘗試這個where
如下:
per = ExchangeRates.where("time > ? AND time < ?", er.time.beginning_of_day, er.time.end_of_day)
這會將您的請求直接轉換為SQL。 盡管它比我喜歡的ActiveRecord少了很多,但我發現沒有簡單的方法來搜索范圍的好方法。
如果您想要更干凈的東西,可以考慮使用猴子補丁AR支持range
操作,該操作通過傳入的哈希在幕后有效地執行此類操作。
這應該為你工作
per = ExchangeRates.where(time: er.time.beginning_of_day..er.time.end_of_day).first
但是,當我經常在模型上使用這種類型的查詢時,我更喜歡復制數據,也使用日期列。
可以說,如果我有created_at列,那么我還要添加一個created_on列。 一個具有日期時間類型,一個字母具有日期類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.