版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36447759/article/details/81702248
声明:所有文章仅仅是个人笔记,不用做教程,只适合自己用(因为我怕不符合大众,容易引起误导)
思路:在删除栏目的时候根据传过来的id进行查询,查找出所有子栏目进行删除,在删除栏目之前要在文章表中找出所有的文章pid和id相等的列,进行删除。
贴代码:
public function CateDel(){
$id=input('id');
$catetree=new Catetree();//实例化无限极分类方法
$cateres=db('cate')->field('id,pid')->select();//根据id删除自己
$cateres=$catetree->Parenttree($id,$cateres);//无限极分类(见上一篇)
$cateres[]=$id;
foreach($cateres as $value){
//value是栏目
$artres=db('article')->field('id,pid')->select();
foreach($artres as $k=>$v){
//$v文章
if($value==$v['pid']){
//对文章里面的文件进行删除
$filename=db('article')->field('article_logo')->find($v['id']);
if(isset($filename)){
$img=$filename['article_logo'];
$file=PICTURE.$img;
@unlink($file);
}
//根据id删除文章
$delarticle=db('article')->delete($v['id']);
if(!$delarticle){
$this->error('删除文章异常');
die;
}
}
}
//删除栏目
$res=db('cate')->where('id',$value)->delete();
}
if($res){
$this->success('删除成功','CateList');
}else{
$this->error('删除是失败');
}
}