在rails應用程序中,我想按優先級排序任務,優先級的值爲p1,p2,p3,nil。如果我這樣排序rails每個訂單的零值
task..order(:priority).each do |t|
puts t
end
優先級爲零的任務先到達,然後其他事情按照順序排序。我想要沒有優先級的任務在循環中繼續。如何完成這一個?
我使用MySQL數據庫
在rails應用程序中,我想按優先級排序任務,優先級的值爲p1,p2,p3,nil。如果我這樣排序rails每個訂單的零值
task..order(:priority).each do |t|
puts t
end
優先級爲零的任務先到達,然後其他事情按照順序排序。我想要沒有優先級的任務在循環中繼續。如何完成這一個?
我使用MySQL數據庫
試試這個:
task = Task.order('priority DESC NULLS LAST')
試試這個:
Task.order(priority: :desc)
您可以使用CASE
聲明
Task.order('CASE WHEN priority IS NULL THEN p99 ELSE priority END')
變化p99
這樣,這將是最後一次
也許不設置優先級爲零,但使用這將是最高優先級的默認值? – Typpex