数据库设计省略
(主要字段 id pid)
控制器代码
<?php /** * Created by PhpStorm. * User: Administrator * Date: * Time: */ namespace Admin\Controller; use Think\Controller; class CateController extends Controller { public function catelist() { $cate=D('cate'); $da= $cate->select(); //dump($da);die; //调用无限极分类 $data= $cate->getTree( $da); // dump($data);die; $this->assign("data",$data); $this->display(); }
model代码
<?php /** * Created by PhpStorm. * User: Administrator * Date: * Time: */ namespace Admin\Model; use Think\Model; class CateModel extends Model{ public function getTree($list,$pid = 0,$level =0){ //创建数组 static $tree=array(); foreach ($list as $k=>$v){ if($v['parent_id'] == $pid){ $v['level']=$level; $tree[]=$v; /*若果不创建静态数组 可以使用以下方法合并数组 * //$tree= array_merge($tree,$this->getTree($list,$v['id'],$level+1));// * */ $this->getTree($list,$v['id'],$level + 1); } } return $tree; } }
view
(也可以使用
{$vo.level|str_repeat='--',###*5})
最终显示效果