TP3.2.3 无限极分类&&获取所有子分类包括自身

/* 无限级分类树 */
public function tree($data,$pid=0,$level=1)
{
    static $treeArr = array();
    foreach ($data as $v)
    {
        if ($v['pid'] == $pid)
        {
            $v['level'] = $level;
            $treeArr[] = $v;
            $this->tree($data, $v['id'], $level + 1);
        }
    }
    return $treeArr;
}

/* 传递一个id 找出下面所有子分类包括自身 */
public function getSubIds($id)
{
    $info = $this->order('sort')->select();
    $list = $this->tree($info,$id);
    $res = array();
    foreach($list as $v)
    {
        $res[] = $v['id'];
    }
    $res[] = $id;
    return $res;
}

$id = $this->_id; 
$ids = $this->_db->getSubIds($id);
$datas = $this->getData();
$datas['id'] = $this->_id;
if( in_array($datas['pid'],$ids) )
{
    show('300','该分类不能移动到这个位置!');
    return;
}

你可能感兴趣的:(TP3.2.3 无限极分类&&获取所有子分类包括自身)