$this->loadModel('Menu');
$this->loadModel('SubMenu');
$this->loadModel('SubSubMenu');
$options['joins'] = array(
array('table' => 'sub_menus',
'alias' => 'sub_menus',
'type' => 'LEFT',
'conditions' => array(
'sub_menus.menu_id = Menu.id'
)
),
array('table' => 'sub_sub_menus',
'alias' => 'sub_sub_menus',
'type' => 'LEFT',
'conditions' => array(
'sub_sub_menus.sub_menu_id = sub_menus.id'
)
)
);
$options['fields'] = array('Menu.id','Menu.name', 'Menu.action', 'sub_menus.id','sub_menus.name', 'sub_menus.action','sub_sub_menus.id', 'sub_sub_menus.name', 'sub_sub_menus.action');
$menus = $this->Menu->find('all', $options);
$menus array is like this:
Array
(
[0] => Array
(
[Menu] => Array
(
[id] => 6
[name] => Bangladesh
[action] => bangladesh
)
[sub_menus] => Array
(
[id] => 2
[name] => Politics
[action] => politics
)
[sub_sub_menus] => Array
(
[id] => 1
[name] => submenu2
[action] => test
)
)
[1] => Array
(
[Menu] => Array
(
[id] => 9
[name] => Entertainment
[action] => entertainment
)
[sub_menus] => Array
(
[id] => 19
[name] => Music
[action] => music
)
[sub_sub_menus] => Array
(
[id] => 19
[name] => test
[action] => test1
)
)
[2] => Array
(
[Menu] => Array
(
[id] => 6
[name] => Bangladesh
[action] => bangladesh
)
[sub_menus] => Array
(
[id] => 2
[name] => Politics
[action] => politics
)
[sub_sub_menus] => Array
(
[id] => 20
[name] => AML
[action] => aml
)
)
[3] => Array
(
[Menu] => Array
(
[id] => 13
[name] => Comments
[action] => comments
)
[sub_menus] => Array
(
[id] => 35
[name] => Issuse
[action] => issuse
)
)
[4] => Array
(
[Menu] => Array
(
[id] => 6
[name] => Bangladesh
[action] => bangladesh
)
[sub_menus] => Array
(
[id] => 2
[name] => Politics
[action] => politics
)
[sub_sub_menus] => Array
(
[id] => 22
[name] => One
[action] => one
)
)
)
My expected array is:
Array
(
[0] => Array
(
[Menu] => Array
(
[id] => 6
[name] => Bangladesh
[action] => bangladesh
)
[sub_menus] => Array
(
[0] => Array
(
[id] => 2
[name] => Politics
[action] => politics
[sub_menu2] => Array
(
[0] => Array
(
[id] => 1
[name] => submenu2
[action] => test
)
[1] => Array
(
[id] => 20
[name] => AML
[action] => aml
)
[2] => Array
(
[id] => 22
[name] => One
[action] => one
)
)
)
)
)
[1] => Array
(
[Menu] => Array
(
[id] => 9
[name] => Entertainment
[action] => entertainment
)
[sub_menus] => Array
(
[0] => Array
(
[id] => 19
[name] => Music
[action] => music
[sub_menu2] => Array
(
[0] => Array
(
[id] => 19
[name] => test
[action] => test1
)
)
)
)
)
[2] => Array
(
[Menu] => Array
(
[id] => 13
[name] => Comments
[action] => comments
)
[sub_menus] => Array
(
[0] => Array
(
[id] => 35
[name] => Issuse
[action] => issuse
)
)
)
)
Here What I want is tree menu generation using filtering array. All sub_menu will be wrapped by menu having same menu[id] and all sub_sub_menu will be wrapped by sub_menu having same sub_menu[id]. I trying for couple of day but no luck. I am sorry if it is very basic question or something like one that should not be asked here. Thanks in advance.