Ruby on rails 4 编写activerecord语句以查询datetime列
我有一个列名为videoconfavailability的profiles表,它是datetime类型。我正在尝试制作一个Ajax按钮标签,从Time.now开始1小时和Time.now之前1小时搜索所有视频。 到目前为止,我这里有这一行,是否有一个NOT子句来过滤掉其他条件Ruby on rails 4 编写activerecord语句以查询datetime列,ruby-on-rails-4,activerecord,Ruby On Rails 4,Activerecord,我有一个列名为videoconfavailability的profiles表,它是datetime类型。我正在尝试制作一个Ajax按钮标签,从Time.now开始1小时和Time.now之前1小时搜索所有视频。 到目前为止,我这里有这一行,是否有一个NOT子句来过滤掉其他条件 Profile.where("videoconfavailability <= ? AND videoconfavailability >= ?", Time.now + 1.hour , Time.now -
Profile.where("videoconfavailability <= ? AND videoconfavailability >= ?", Time.now + 1.hour , Time.now - 1.hour )
Profile.where(“videoconfavailability=?”,Time.now+1.hour,Time.now-1.hour)
这里的最终目标是使所有时间在当前时间前1小时和当前时间后1小时可用。
这行得通吗?我觉得不错-也许你可以解释一下你的问题
在使用它时,您可以考虑创建一个与您的“代码>配置文件< /代码>模型绑定的范围。如果您需要在不同的时间范围内使用它,那么它可能会接受
参数
。如果不是的话,那就硬编码,让它更容易反复使用
scope :available_within_time, -> (start, end) { where("videoconfavailability <= ? AND videoconfavailability >= ?", start, end )
如果您想过滤掉负匹配以检查其他条件,您可以将
.where.not(查询)
链接到现有查询。我可以用此创建一个奇特的作用域、lamda或类方法吗?第一个问题。。。你试过这个吗?如果是这样,让我们知道输出是什么。其次,是的,你可以有条不紊地做这件事,但在开始之前,请让我们知道你做了什么,谢谢
1.hour.ago
1.hour.from_now