【发布时间】:2019-10-17 11:03:08
【问题描述】:
来自名为 VehicleSchedule 的模型,具有两个 datetime 属性 start_time 和 end_time。我应该如何获取给定时间安排的车辆数量?
类似下面的东西
VehicleSchedule.where('start_time >= ? and end_time <= ?', Time.current, Time.current).count
【问题讨论】:
-
您当前的实现有什么问题?据我从你的描述中可以看出,这非常好。唯一非常小的改进是删除重复:
Vehicle.where('start_time >= :time and end_time <= :time', time: Time.current).count -
@TomLord
start_time: 17/10/2019 04:00end_time: 17/10/2019 05:00和current_time: 17/10/2019 04:30这会失败吗? -
哦,等等...
>=和<=运算符倒数。就是这样。 -
顺便说一句,你的文字说
VehicleSchedule,但代码使用Vehicle。请解决这个问题,或者——如果实际上有两个模型——澄清它们是如何相互关联的。
标签: mysql ruby-on-rails ruby activerecord ruby-on-rails-5