Cate.php extends Controller
执行del删除方法前 先执行delsoncate
delsoncate 删除子集分类
//执行del 之前执行delsoncate
protected $beforeActionList = [
'delsoncate' => ['only'=>'del'],
];
//删除分类
public function del(){
$cate = new CateModel();
$res = $cate->where('id',input('id'))->delete();
if($res){
$this->success('删除成功!','admin/cate/lis');
}else{
$this->error('删除失败!','admin/cate/lis');
}
}
//删除子集分类
public function delsoncate(){
$id = input('id');
$cate = new CateModel();
$res = $cate->getchildId($id);
if($res){
Db::table('bk_cate')->delete($res);
}
}
Cate.php extends Model
//通过父级id得到子集的id
public function getchildId($id){
$cate = new Cate();
$res = $cate->select();
return $this->_getchildId($res,$id);
}
public function _getchildId($data,$pid){
static $arr = [];
foreach ($data as $k => $v){
if($v['pid'] == $pid){
$arr[] = $v['id'];
return $this->_getchildId($data,$v['id']);
}
}
return $arr;
}
list.html页面
<a href="#" onClick="warning('确实要删除吗','{:url(\'admin/cate/del\',[\'id\'=>$cate.id])}')" class="btn btn-danger btn-sm shiny">
<i class="fa fa-trash-o"></i> 删除
</a>