2014-09-21 3 views
1

Мне необходимо заказать мои результаты по полю enum. Это поле, которое называется status, может быть либо open, close, либо edit. Теперь я хочу получить все записи: edit, затем open и, наконец, close.Laravel Eloquent - Order by Enum Поле

Возможно ли это с помощью Laravel Eloquent? Я попробовал это (что звучит смешно, но я думал, что я дам ему попробовать), так и не получилось:

Survey::orderBy('status', 'edit', 'open', 'close')->get(); 

ответ

1

Попробуйте это:

Survey::orderByRaw("FIELD(status, \"edit\", \"open\", \"close\")")->get(); 
0

Для Postgres попробовать это:

Survey::orderByRaw("case status when 'edit' then 1 when 'open' then 2 when 'close' then 3 end")->get();