我的事件表中的一列包含一列,其值为“保留”、“重要”、“待定”等。我想将查询结果返回给客户端并按此列排序,但我不想按字母顺序排序。“重要”事件应该是第一个,“待定”第二个,等等。更重要的是,我想将整数排序值返回给客户端。
@work = Transaction.
joins( :events ).
where( store_id: params[:work_id] ).
where( status: 'Open' )
你可以这样做:
@work = Transaction.
joins(:events).
where(store_id: params[:work_id]).
where(status: 'Open').
select("(case when your_column = 'Important' then '1'
when your_column = 'Pending' then 2
when your_column = 'Hold' then 3 else 4 end) as your_integer_column").
order("your_integer_column")