Mam zbuodwane menu na standardowej zasadzie
id | category | id_parent
---------------- | -------------------
1 | menu 1 | 0
2 | menu 1- 1 | 1
3 | menu 1- 2 | 1
4 | menu 1- 3 | 1
5 | menu 2 | 0
6 | menu 2- 1 | 5
7 | menu 2- 2 | 5
8 | menu 2- 3 | 5
9 | menu 1- 4 | 1
10 | menu 2- 4 | 5
11 | menu 1- 5 | 1
Teraz chcialem pobrac to sobie z bazy i zrobic tablice w stylu
tablica[1] = [
'category' => 'menu 1',
'sub_category' => [
[0] = 'menu 1-1'
[1] = 'menu 1-2'
[2] = 'menu 1-3'
]
]
Moj kod najpierw wstawia naglowki a potem wstawia podkategorie.
Nie wiem jak zrobic to w jednej petli.
// Prepare section menu
foreach($mainMenu AS $key => $menu){
if($menu['id_parent'] == 0){
$readyMainMenu[$menu['id']] = ['category' => $menu['category'],];
}
}
// Prepare sub menu
foreach($mainMenu AS $key => $menu){
if($menu['id_parent'] != 0){
$readyMainMenu[$menu['id_parent']]['sub_categories'][$key]['category'] = $menu['category'];
$readyMainMenu[$menu['id_parent']]['sub_categories'][$key]['module'] = $menu['module'];
$readyMainMenu[$menu['id_parent']]['sub_categories'][$key]['controller'] = $menu['controller'];
$readyMainMenu[$menu['id_parent']]['sub_categories'][$key]['action'] = $menu['action'];
$readyMainMenu[$menu['id_parent']]['sub_categories'][$key]['params'] = $menu['params'];
}
}