Ruby on rails 获取30分钟前创建的记录-Rails
我需要从Ruby on rails 获取30分钟前创建的记录-Rails,ruby-on-rails,ruby,Ruby On Rails,Ruby,我需要从时间获取30分钟前创建的记录。现在。我正在使用cron,我想每分钟启动一次cron 我基本上需要它,但它应该忽略秒数,这样如果Time.now==Wed,2018年1月31日18:00:31+0000,则创建的记录应匹配 这是我到目前为止的查询,它不起作用,因为时间的计算不正确 Cart.joins(:cart_addresses).group('carts.id').where(created_at: Time.now - 30.minutes).each do |i| puts
时间获取30分钟前创建的记录。现在。我正在使用cron,我想每分钟启动一次cron
我基本上需要它,但它应该忽略秒数,这样如果Time.now==Wed,2018年1月31日18:00:31+0000
,则创建的记录应匹配
这是我到目前为止的查询,它不起作用,因为时间的计算不正确
Cart.joins(:cart_addresses).group('carts.id').where(created_at: Time.now - 30.minutes).each do |i|
puts i.id
end
请尝试以下查询:
# if current time is 3:00:03
# it will return carts created at 2:30:00 -> 2:30:59
from_mins_ago = 30.minutes.ago.change(sec: 0)
to_mins_ago = from_mins_ago.change(sec: 59)
Cart.joins(:cart_addresses).group('carts.id').where(created_at: from_mins_ago..to_min_ago).pluck('carts.id')
你可以用一个靶场
Cart.joins(:Cart\u addresses).group('carts.id').where(创建时间:30.minutes.ago..DateTime.now)
有很多解决方案
更多信息:此查询将在过去30分钟内获取所有信息,而不是30分钟前,对吗?以前的查询与您所说的一样。但我刚刚更新了查询。请检查新的查询。