2017-02-02 10 views
0

У меня есть 2 колонки, модель и действие. Первое, что я хотел бы добиться того, чтобы заказать модель от А до Z.Laravel 5.4 сортировка

Я делаю это с

orderBy('model', 'ASC') 

Тогда я хотел бы заказать колонки действий по индексу, создавать, хранить и т. д. У меня есть запрос, и я пытаюсь сортировать результаты по порядку: индексировать, создавать, хранить, показывать, редактировать, обновлять, уничтожать, [все остальное].

Однако результат я получаю это: [все остальное], индекс, создавать, хранить, показ, редактирование, обновление, уничтожить

Запрос:

Permission::orderBy('model', 'ASC')->orderByRaw("FIELD(action, 'index', 'create', 'store', 'show', 'edit', 'update', 'destroy')")->get(); 

Результат должен быть что-то вроде:

  • модель 1, индекс
  • модель 1, создать
  • модель 1, магазин
  • т.д.
  • модель 1, все остальное
  • модель 2, индекс
  • модель 2, создать
  • модель 2, магазин
  • и т.д.
  • модель 2, все остальное

У кого-нибудь есть идея, как я могу x это?

Благодаря

ответ

3

Метод orderBy позволяет сортировать результат запроса по данному колонку. Первым аргументом метода orderBy должен быть столбец, который вы хотите отсортировать, тогда как второй аргумент управляет направлением сортировки и может быть либо asc, либо desc:

$users = DB::table('table') 
->orderBy('name', 'desc') // You can pass as many columns as you required 
->get();