删除无限极分类中父节点时,如何一并移除其所有子节点?
- 内容介绍
- 文章标签
- 相关推荐
本文共计217个文字,预计阅读时间需要1分钟。
php/** * 删除节点时,递归删除所有子节点 * @param int $id 节点ID */function delArea($id) { // 查询所有子节点ID $childIds=Db::name('area')->where('parent_id', $id)->column('id'); // 删除所有子节点 Db::name('area')->where('id', 'in', $childIds)->delete(); // 删除当前节点 Db::name('area')->where('id', $id)->delete();}
无限极分类删除父节点时将父节点的所有子节点删除,该代码基于thinkPHP3.2.3,在model中使用,通过parentlist查询所有子ID,然后删除1.[文件] index.php~570B 下载(2)
<?php function delArea($id){ $depth['CONCAT(\',\',parentidlist,\',\')']=array('like','%,'.$id.',%'); $ids = $this->where($depth)->field('id')->select(); //查询需要删除的所有子id if($ids){ $arr=array(); foreach($ids as $key=>$vo){ $arr[]=$vo['id']; } } if($arr){ $str=implode(',', $arr); $depth['id']=array('in',$str); $update['status']=0; $res=$this->where($depth)->save($update); if($res){ echo '删除成功'; }else{ echo '删除失败'; } }else{ echo '删除失败'; } }
本文共计217个文字,预计阅读时间需要1分钟。
php/** * 删除节点时,递归删除所有子节点 * @param int $id 节点ID */function delArea($id) { // 查询所有子节点ID $childIds=Db::name('area')->where('parent_id', $id)->column('id'); // 删除所有子节点 Db::name('area')->where('id', 'in', $childIds)->delete(); // 删除当前节点 Db::name('area')->where('id', $id)->delete();}
无限极分类删除父节点时将父节点的所有子节点删除,该代码基于thinkPHP3.2.3,在model中使用,通过parentlist查询所有子ID,然后删除1.[文件] index.php~570B 下载(2)
<?php function delArea($id){ $depth['CONCAT(\',\',parentidlist,\',\')']=array('like','%,'.$id.',%'); $ids = $this->where($depth)->field('id')->select(); //查询需要删除的所有子id if($ids){ $arr=array(); foreach($ids as $key=>$vo){ $arr[]=$vo['id']; } } if($arr){ $str=implode(',', $arr); $depth['id']=array('in',$str); $update['status']=0; $res=$this->where($depth)->save($update); if($res){ echo '删除成功'; }else{ echo '删除失败'; } }else{ echo '删除失败'; } }

