我有Event
的模型,其中包含属性starts_at
和ends_at
。如何找到今天发生的事件的记录。如果今天的日期在事件的starts_at
和ends_at
之间或之间,则说事件发生在今天。 starts_at
和ends_at
是datetime
。我没有看到需要添加任何模型代码,如果有人要求它我可以。
答案 0 :(得分:0)
我有一个解决方案。如果有任何其他更好的优化解决方案,请评论。
Event.where('starts_at<= ? AND ends_at >= ?', DateTime.now, DateTime.now)
答案 1 :(得分:0)
怎么样:
scope :today, -> { where(starts_at: DateTime.now.beginning_of_day..DateTime.now.end_of_day) }
这应该会返回在当天开始和结束之间有starts_at
时间的所有事件。