按日期范围排序

Arjan

假设我们有以下模型。

create_table :meetings do |t|
  t.datetime :started_at
  t.datetime: ended_at
end

class Meeting < ActiveRecord::base
end

我将如何订购会议结果,以使最长的会议是集合中的第一个会议,而最短的会议是最后一个会议。

就像是

Meeting.order(longest(started_at..ended_at))

显然,这是行不通的。

我将如何实现此目标,最好不使用原始SQL?

吉治先生

我认为如果不使用原始SQL就无法做到这一点。

使用原始SQL:

Meeting.order('(ended_at - start_at) DESC')

(与PostGreSQL一起使用)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章