я хочу получить иерархическую структуру категории и подкатегории для n-го уровня в одном запросе MySQL

я хочу получить иерархическую структуру категории и подкатегории для n-го уровня в одном запросе mysql, я пробую какое-то решение, но оно не работает должным образом.
я пытаюсь следующий запрос, но он получает только подкатегорию, но я хочу его для n-го уровня из одной таблицы, как

категория | подкатегория | суб-подкатегория | ……

мой стол fd_category и это поле

id|name|parent_id FK -> fd_category.idselect c.id
, c.name
, group_concat(sc.name) as subcategory
from fd_category c
join fd_category sc
on c.id=sc.parent_id
where c.parent_id=null
group
by sc.parent_id;

0

Решение

public function get_menu() {
$this->db->select('id,name,parent_id');
$menu = $this->db->get('category')->result_array();
$data=$this->menu_child($menu);
//print_r($data);
return $data;
}
function menu_child($menu, $parent = NULL) {
$main_menu = array_filter($menu, function($a)use($parent) {
return $a['parent_id'] == $parent;
});
if ($main_menu) {
foreach ($main_menu as $key => $value) {
$main_menu[$key]['sub_menu'] = $this->menu_child($menu, $value['id']);
}
}
return $main_menu;
}  
0

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

Других решений пока нет …

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