PHP 循环删除无限分类子节点的实现代码

前端技术 2023/09/06 PHP

复制代码 代码如下:

<?php
    private  function _deleteSubNode($ids){

        $subNodes = array();
        $mod = D(\'Node\');
        foreach (explode ( \',\', $ids ) as $k){
            $res = $this->_getSubNode($k,$subNodes[$k],$mod);  //获取子节点
            if(!empty($res[0])){
                foreach($res as $k => $nid){
                    $mod->where(\'id = \'.$nid)->delete();       //删除子节点
                }
            }
        }
        return ;
    }

    private function _getSubNode($id, &$arr,$mod){

         $condition = array (\'pid\' => array (\'eq\', $id ));
         $ret = $mod->where($condition)->getField(\'id\');
         if(!empty($ret[0])){
             foreach ($ret as $k => $node){
                 $arr[] = $node[\'id\'];
                 $this->_getSubNode($node[\'id\'], $arr, $mod);
            }
         }
         return $arr;
    }

?>

本文地址:https://www.stayed.cn/item/17063

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。