cake php webservice用于显示递归数据

时间:2014-04-16 17:42:32

标签: web-services cakephp recursion

我有self_join的表格 菜单

id | menu_id | title | content
1    0        main1    
2    0        main2    
3    1        sub_1a   content
4    1        sub_1b   
5    4        sub_4a   
6    5        sub_5a
7    6        sub_6a   content
-------------------------------
I have 2 main menus with menu_id = 0  
main1(id=1) has 2 sub menus with id 3 and 4  
sub_1b(id=4) has 1 sub menu with id 5
sub_4a(id=5) has 1 sub menu with id 6
sub_5a(id=6) has 1 sub menu with id 7
this can be upto 5 levels

我必须显示json递归数组 我在控制器中尝试过自定义功能

public function menuz($id,$arr)
     {
   $arr[]=$id;
       $id=$id-1;
   if($id>0)
       {
          menuz($id,$arr);
       }
     }

我从索引动作中调用了上述函数 但是它给出了错误 什么是最好的方法

1 个答案:

答案 0 :(得分:0)

如果您正在使用cakephp,请将Tree行为附加到您的模型中(您还必须在表格中添加几列)

然后你可以做

$data = $this->YourModel->find('threaded');

(参见manual abour it)获取一个可以在json中轻松转换的嵌套数组