Recursively gets the ID of all subcategories:
//recursively gets the ID of all subcategoriesfunctionGet_all_child ($array,$id){ $arr=Array(); foreach($array as $v){ if($v[' pid '] = =$id){ $arr[] =$v[' ID ']; $arr=Array_merge($arr, Get_all_child ($array,$v[' ID '])); }; }; return $arr;}
In the Delete column, you need to delete all the sub-columns under the current column:
//Delete Category Public functiondelcate () {$get= I (' Get.pid '); $cateId= M (' category ')->field (Array(' id ', ' pid ') -Select (); $delId= Get_all_child ($cateId,$get); $delId[] =$get; $where=Array( ' id ' =Array(' in ',$delId) ); if(! M (' category ')->where ($where),Delete ()) { $this->error (' Delete failed '); }; $this->success (' delete succeeded ', U (' index ')));}
Think php recursively gets all the subcategories IDs (delete current and sub-categories)