Jak zrobic generowanie menu w jednej petli

0

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'];
			}
		}
0

ORDER BY id_parent, id

1 użytkowników online, w tym zalogowanych: 0, gości: 1