基于duxshop遍历无限级分销用户的纵向递归

时间:2023-03-08 16:58:16
/**获取基准数据
* @param $ids 父id 多个逗号分隔
* @return array
*/
public function saleBase($ids)
{
$data=$this->table('member_user(a)')
->join('member_connect(b)',['a.user_id','b.user_id'])
->where(['_sql'=>'b.pid in('.$ids.')'])
->field(['a.*,b.pid'])
->limit(0)
->select();
return $data;
}
//获取遍历基准,循环深度获取数据
public function loadSaleUser($ids)
{
$data =$this->saleBase($ids);foreach($data as $k=>$v)
{
$this->num++;
$data[$k]['c'] = $this->loadNodes($v);
}
}
/**
* @param $v 传入基准,纵向递归,获取数据
* @return array返回结果集
*/
public function loadNodes($v)
{
$data = $this->saleBase($v['user_id']);
foreach($data as $k=>$v)
{
$this->num++;
$data[$k]['c'] = $this->loadNodes($v);
}
return $data;
}