本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

怎么写使用递归?无限分类



转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/290
问题交流群 :562864481
1
作者没有开启打赏
发布时间 :2016-12-15 18:24:58
分享

4 个评论

  • 一沙
    回复
    2016-12-15 19:25

    直接给你个demo吧,可以在laravel中使用

    public function test()
        {
            $items = array(
                1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'),
                2 => array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'),
                3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'),
                4 => array('id' => 4, 'pid' => 2, 'name' => '哈尔滨市'),
                5 => array('id' => 5, 'pid' => 2, 'name' => '鸡西市'),
                6 => array('id' => 6, 'pid' => 4, 'name' => '香坊区'),
                7 => array('id' => 7, 'pid' => 4, 'name' => '南岗区'),
                8 => array('id' => 8, 'pid' => 6, 'name' => '和兴路'),
                9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'),
                10 => array('id' => 10, 'pid' => 8, 'name' => '东北林业大学'),
                11 => array('id' => 11, 'pid' => 9, 'name' => '哈尔滨工业大学'),
                12 => array('id' => 12, 'pid' => 8, 'name' => '哈尔滨师范大学'),
                13 => array('id' => 13, 'pid' => 1, 'name' => '赣州市'),
                14 => array('id' => 14, 'pid' => 13, 'name' => '赣县'),
                15 => array('id' => 15, 'pid' => 13, 'name' => '于都县'),
                16 => array('id' => 16, 'pid' => 14, 'name' => '茅店镇'),
                17 => array('id' => 17, 'pid' => 14, 'name' => '大田乡'),
                18 => array('id' => 18, 'pid' => 16, 'name' => '义源村'),
                19 => array('id' => 19, 'pid' => 16, 'name' => '上坝村'),
            );
            dump(self::genTree($items));
    	
    	}
    
        public function genTree($items) {
            $tree = array(); //格式化好的树
            foreach ($items as $item)
                if (isset($items[$item['pid']]))
                    $items[$item['pid']]['son'][] = &$items[$item['id']];
                else
                    $tree[] = &$items[$item['id']];
            return $tree;
        }


  • 无名氏
    回复
    2016-12-15 19:11
    回复 一沙

    我不用这个,我想用递归的方法类似于这种方式

    就是我有点看不懂,所以像你请教一下,这些代码怎么写才能在laravel下运行


  • 一沙
    回复
    2016-12-15 19:01

    你可以看一下这个,使用 Baum 嵌套集合模型来实现 Laravel 模型的无限极分类,看能不能解决,不能的话回复我


  • 无名氏
    回复
    2016-12-15 18:29

    解决问题,必有回报,最好写一下代码

要回复文章请先登录注册