sent_at
,opened_at
、rsvped_at
の3つのdatetimeカラムを持つemail_invitations
テーブルがあります。日付順に3つの列を並べ替えるにはどうすればいいですか?テーブルの列を最新の日付で注文するにはどうすればよいですか?
私はレールにdefault_scope
を使用しています:
default_scope { order('sent_at ASC' }
は、ここで私は
EmailInvitation
id: 1, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-03-25"
id: 2, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-04-01"
id: 3, sent_at: "2016-03-23", opened_at: "2016-03-24", rsvped_at: nil
id: 4, sent_at: "2016-03-29", opened_at: nil, rsvped_at: nil
はrsvped_atその後、opened_atそして、それは最初sent_atソートするように見えるEmailInvitation.order(sent_at: :asc, opened_at: :asc, rspved_at: :asc)
を使用して持っているものです。
id: 4, sent_at: "2016-03-29", opened_at: nil, rsvped_at: nil
id: 1, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-03-25"
id: 2, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-04-01"
id: 3, sent_at: "2016-03-23", opened_at: "2016-03-24", rsvped_at: nil
しかし、私が本当に何とか私はそれは、列名に日付だけを見ていないので、すべての列に参加する必要があるので、最新の日付が上になります持っているものは何でもしたいです。おそらく
id: 2, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-04-01"
id: 4, sent_at: "2016-03-29", opened_at: nil, rsvped_at: nil
id: 1, sent_at: "2016-03-24", opened_at: "2016-03-25", rsvped_at: "2016-03-25"
id: 3, sent_at: "2016-03-23", opened_at: "2016-03-24", rsvped_at: nil
あなたはAthonysの答えに満足していないので、いくつかのサンプルデータと期待される結果を表示できますか? –
編集:昇順が必要、降順でない – cvDv