Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何显示时间范围内的数据库记录“;时间。现在”;减去x小时?_Mysql_Ruby On Rails - Fatal编程技术网

Mysql 如何显示时间范围内的数据库记录“;时间。现在”;减去x小时?

Mysql 如何显示时间范围内的数据库记录“;时间。现在”;减去x小时?,mysql,ruby-on-rails,Mysql,Ruby On Rails,我使用的查询条件和时间范围从“time.now”到-2小时 time_range = Time.now-2.hour..Time.now Model.all(:conditions => { :created_at => (time_range) }) 此时,将不显示2个多小时前创建的所有数据库记录。显示所有小于2小时“旧”的记录 例如,根据我的查询,它将显示在当前小时创建的一些记录 告诉我正确的结果 但是,如果我第二天来,并期待着同样的结果,我将无法看到它 因此,我的目标是在时间

我使用的查询条件和时间范围从“time.now”到-2小时

time_range = Time.now-2.hour..Time.now
Model.all(:conditions => { :created_at => (time_range) })
此时,将不显示2个多小时前创建的所有数据库记录。显示所有小于2小时“旧”的记录

例如,根据我的查询,它将显示在当前小时创建的一些记录 告诉我正确的结果

但是,如果我第二天来,并期待着同样的结果,我将无法看到它

因此,我的目标是在时间范围内显示记录…

尝试以下方法:

('created_at > ?', 2.hours.ago)

要确定时间范围,需要在查询中将其拆分为开始时间和结束时间。但是,如果您的某个时间是Time.now,并且将来不会创建任何记录,即使用created_at>Time.now,则可以跳过Time.now规范

所以一般来说

@models = Model.all(:conditions => ["created_at >= ? and created_at <= ?", time_a, time_b])

如果记录是在距当前时间2小时之间创建的,则它将起作用。但我的目标是这样的——如果一个用户在一小时内(2个或更多连接)将多个连接添加到他的个人资料中,它将成为一个独立的故事。User1在2小时前已连接到2个新用户。用户昨天完成了相同的活动,我现在看到了他的时间线,它还应该显示User1在16小时前连接到了2个新用户。如果记录是在距当前时间2小时之间创建的,那么它将起作用。但我的目标是这样的——如果一个用户在一小时内(2个或更多连接)将多个连接添加到他的个人资料中,它将成为一个独立的故事。User1在2小时前已连接到2个新用户。用户昨天完成了相同的活动,我现在看到了他的时间线,它还应该显示User1在16小时前连接到了2个新用户。我已经回答了您原来的问题-我认为您需要在一个新的问题中提出这个问题,并提供一些关于您想要做什么的详细信息。
@models = Model.all(:conditions => ["created_at >= ? ", time_a])