1. 程式人生 > >把對應欄目下的所有子欄目以及子欄目的內容進行刪除

把對應欄目下的所有子欄目以及子欄目的內容進行刪除

宣告:所有文章僅僅是個人筆記,不用做教程,只適合自己用(因為我怕不符合大眾,容易引起誤導)

思路:在刪除欄目的時候根據傳過來的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('刪除是失敗');
        }
    }