把對應欄目下的所有子欄目以及子欄目的內容進行刪除
阿新 • • 發佈:2018-11-12
宣告:所有文章僅僅是個人筆記,不用做教程,只適合自己用(因為我怕不符合大眾,容易引起誤導)
思路:在刪除欄目的時候根據傳過來的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('刪除是失敗'); } }