- Открываем в phpmyadmin;
- Делаем бекап базы данных;
- Переходим во вкладку «Поиск»
Передать массив категорий.
function categoriesToTree($categories) { $map = [0 => ['subcategories' => []]]; foreach ($categories as &$category) { $category['subcategories'] = []; $map[$category['id']] = &$category; } foreach ($categories as &$category) $map[$category['parent_id']]['subcategories'][] = &$category; return $map[0]['subcategories']; }
На выходе получим
Мне необходимо было вывести все это в select.
Получившийся выше массив передаем в функцию
function build_options($categories, $level = 0) { $option = ''; foreach ($categories as $item) { $level = $item['parent_id'] == 0 ? 0 : $level + 1; $name = str_repeat('-', $level) . $item['name']; $option .= "<option value='" . $item['id'] . "' data-parent='" . $item['parent_id'] . "'>" . $name . "</option>"; if (count($item['subcategories']) > 0) $option .= $this->build_options($item['subcategories'], $level); } return $option; }
На выходе список тегов option, вставляем куда нужно и получаем.