我需要通过enum
字段订购我的结果。此字段名为status
,可以是open
,close
或edit
。现在,我希望获得所有条目,包括edit
,然后是open
,最后是close
订单。
这是否可以与Laravel Eloquent一起使用?我试过这个(这听起来很荒谬,但我想我试一试),并且没有工作:
Survey::orderBy('status', 'edit', 'open', 'close')->get();
答案 0 :(得分:1)
试试这个:
Survey::orderByRaw("FIELD(status, \"edit\", \"open\", \"close\")")->get();
答案 1 :(得分:0)
对于postgres试试这个:
Survey::orderByRaw("case status when 'edit' then 1 when 'open' then 2 when 'close' then 3 end")->get();