2013-02-26 95 views
0

我想從以下(簡化)表結果的排序列表:複雜的Rails訂購

create_table "evaluations", :force => true do |t| 
    t.datetime "completed_at" 
    t.datetime "created_at",   :null => false 
end 

我想completed_at(DESC)命令,如果completed_at設置(NOT NULL)。如果completed_at爲空,我想要訂購created_at(DESC)。

有沒有一種方法可以通過模型與Rails 3做到這一點?

我使用的SQLite我的本地機器,但皮克在服務器上(我會切換到很快就兩個頁碼。)

回答

0

我找到了答案,以我自己的問題,但我不知道它是大多數Rails 3優雅。如果有更好的辦法,那就開心吧!

Evaluations.order("CASE WHEN completed_at IS NULL OR THEN created_at ELSE completed_at END DESC")