Laravel Eloquent — заказ от Enum Field

Мне нужно упорядочить свои результаты по enum поле. Это поле называется status может быть open, close, или же edit, Теперь я хочу получить все записи, с edit, затем open, и наконец close порядок.

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

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

1

Решение

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

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

Другие решения

Для Postgres попробуйте это:

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

По вопросам рекламы [email protected]