控制器
public function actionIndex () { header("content-type:text/html;charset=utf-8"); //实例化enterprise这个model层 调用sel_all方法 $data=new enterprise(); $data=$data->sel_all(); return $this->render('index',array('ar'=>$data)); }Model层
public function sel_all(){ $arr = (new \yii\db\Query()) ->select(['id', 'enterprise_name','fid']) ->from('enterprise') ->all(); //调用list_level方法 return self::list_level($arr,$pid=0,$level=0); } //递归遍历数据 public function list_level($arr,$pid=0,$level=0){ //定义一个静态数组 static $data = array(); foreach($arr as $k => $v){ if($v['fid'] == $pid){ $v['level'] = $level; $data[] = $v; $this->list_level($arr,$v['id'],$level+1); } } return $data; }View层
<table border='1'> <th>id</th> <th>名称</th> <?php foreach($ar as $k=>$v){?> <tr> <td><?php echo $v['id']?></td> <!--str_repeat('字符串','重复的次数');重复一个字符串--> <td><?php echo str_repeat('--',$v['level']);?><?php echo $v['enterprise_name']?></td> </tr> <?php }?> </table>效果展示:
id | 名称 |
---|---|
1 | 一级分类 |
8 | --二级分类 |
178 | ----三级分类 |
179 | ----三级分类 |
180 | ----三级分类 |
181 | ----三级分类 |