我有Job
類:創建對象的數組基於下令子類的屬性
class Job < ActiveRecord::Base
has_many :stops
end
Stop
類有一個屬性,datetime :arrival time
什麼是一個簡潔的方式來獲得數組所有工作,按相關站點的最早到達時間排序?
例如
如果job_1有兩個站點,一個到達時間爲下午4點,另一個到達時間爲下午5點。
而job_2有兩個站點,一個到達時間爲下午3點,另一個到達時間爲下午6點。
我需要的array: [job_2, job_1]
我能夠做到這一點,但在一個麻煩的方式,其中涉及循環和臨時存儲值。
謝謝!
由於就業機會,這是偉大的。我實際上會使用下面的解決方案,因爲我可以將這種排序應用於任何任務子集,但是您首先得到培根:) – user3711600
您的解決方案在我的操場中不起作用,我發佈我的工作版本以完成回答:'Stop.all.order(arrival_time :: asc).select(:job_id).distinct'。並且不返回像op所要求的一系列作業,而是返回一系列停靠點。無論如何,答案是好的。 –
我得到一個錯誤ActiveRecord :: StatementInvalid:PG :: UndefinedColumn:錯誤:列「作業」不存在 –