控制器
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 | ----三級分類 |