這個模型和添加的時候的模型是一樣的,都需要 `adminCategoryTree`
我們訪問的網址是:`agent/admin_category/edit/id/14.html`
`$agentCategoryModel->adminCategoryTree($category['parent_id'], $id);`
`$agentCategoryModel->adminCategoryTree(11, 14);`
說明:11是`四級分類1`(也就是五級分類1的上級),14是`五級分類1`
## 代碼
```
<?php
namespace app\agent\model;
use think\Model;
use tree\Tree;
class AgentCategoryModel extends Model
{
/**
* 生成分類 select樹形結構
* @param int $selectId 需要選中的分類 id
* @param int $currentCid 需要隱藏的分類 id
* @return string
*/
public function adminCategoryTree($selectId = 0, $currentCid = 0)
{
$where = ['delete_time' => 0];
if (!empty($currentCid)) {
$where['id'] = ['neq', $currentCid];
}
$categories = $this->order("list_order ASC")->where($where)->select()->toArray();
$tree = new Tree();
$tree->icon = [' │', ' ├─', ' └─'];
$tree->nbsp = ' ';
$newCategories = [];
foreach ($categories as $item) {
$item['selected'] = $selectId == $item['id'] ? "selected" : "";
array_push($newCategories, $item);
}
$tree->init($newCategories);
$str = '<option value=\"{$id}\" {$selected}>{$spacer}{$name}</option>';
$treeStr = $tree->getTree(0, $str);
return $treeStr;
}
}
```