1. 従属情報の再帰クエリを実装し、ユーザーが持つ従属の数 (第 1 レベル、第 2 レベル、および第 3 レベルを含む) をクエリします。
public function user($id)
{
//获取邀请码
$p_code = Db::table('user') -> where('id',$id) -> value('code');
//调用下级查询
$info = $this->getChild($p_code);
$user = [];
//获取所有下级
foreach($info as $k=>$v){
$user[$k] = $v
}
//输出用户数组
dump($user);
}
// 获取当前邀请码的下级
public function getChild($p_code)
{
static $arr=array(); //第一次调用时初始化
//通过邀请码查询当前邀请码下级用户
$data=Db::table('user')->where('p_code',$p_code)->select()->toArray();
//遍历获取信息,调用当前方法直至没有下级用户
foreach ($data as $key => $value) {
$arr[] = $value;
$this->getChild($value['code']);
}
return $arr;
}