假设我们有以下模型。
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] 删除。
我来说两句