声明:所有文章仅仅是个人笔记,不用做教程,只适合自己用(因为我怕不符合大众,容易引起误导)
控制器部分
修改:
//编辑时 进行所有数据的查找
public function CateEdit(){
$id=input('id');
$Catecontent=db('cate')->find($id);
$cate=new Catetree(); //创建建对象
$date=db('cate')->field('id,cate_name,pid')->select(); //查找数据
$Cate=$cate->ChildTree($date); //调用方法
$this->assign([
'Cate'=>$Cate,
'Catecontent'=>$Catecontent,
]);
return view('Cate/CateEdit');
}
//找出父级栏目下的所有子栏目
public function ChildTree($date,$pid=0,$lerver=0){
static $tree=array();
foreach($date as $key=>$value){
if($value['pid']==$pid){
$value['lever']=$lerver;
$tree[]=$value;
$this->ChildTree($date,$value['id'],$lerver+1);
}
}
return $tree;
}
删除:
public function CateDel(){
$id=input('id');
$catetree=new Catetree();
$cateres=db('cate')->field('id,pid')->select();
$cateres=$catetree->Parenttree($id,$cateres);
$cateres[]=$id; //合并id
//整体删除
foreach($cateres as $value){
$res=db('cate')->where('id',$value)->delete();
}
if($res){
$this->success('删除成功','CateList');
}else{
$this->error('删除是失败');
}
}
//把某个栏目的所有子集栏目进行查找出来
public function Parenttree($id,$date){
static $tree=array();
foreach($date as $key=>$value){
if($value['pid']==$id){
$tree[] = $value['id'];
$value['pid']=$value['id'];
$this->Parenttree($value['pid'], $date);
}
}
return $tree;
}