码迷,mamicode.com
首页 > Web开发 > 详细

Think PHP递归获取所有的子分类的ID (删除当前及子分类)

时间:2017-08-13 00:21:29      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:ror   dex   style   log   bsp   foreach   success   blog   err   

递归获取所有的子分类的ID:

//递归获取所有的子分类的ID
function get_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;
}

在进行删除栏目的时候,需要删除当前栏目下的所有子栏目:

//删除分类
public function delCate(){
    $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(‘删除失败‘);
    };
    $this->success(‘删除成功‘,U(‘index‘));
}

 

Think PHP递归获取所有的子分类的ID (删除当前及子分类)

标签:ror   dex   style   log   bsp   foreach   success   blog   err   

原文地址:http://www.cnblogs.com/e0yu/p/7351948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!