@nemovalex

Сортировка массива в Yii2?

Суть в том что у меня есть таблица категорий, которая связана сама с собой. То есть у категории может быть родительская категория из этой же таблицы по ключу "parent_id". Задача в том что мне нужен список всех категорий в виде массива, но отсортированный следующим образом:
[
      'Родительская категория',
      'Дочерня категория 1',
      'Дочерняя категория 2',
      'Дочерняя категория 3',
      'Родительская категория 2',
      'Дочерняя категория 1',
      'Дочерняя категория 2'
]

И в конце мне нужно сделать массив состоящий из пар id = key, title = value, это я знаю как сделать (ArrayHalper::map) но как можно отсортировать первый массив ?
Изначальный массив:
6160b0d40b8d9801795318.png
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
@nemovalex Автор вопроса
Нашел решение, кому будет полезно:
SELECT * FROM `categories` ORDER BY COALESCE(NULLIF(parent, 0), id),
        (parent = 0) DESC,
        id

Если что таблица связана таким образом parent_id = id;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы