三层代理 如何更好的查询上下级
for ($i=1; $i<=3; $i++)
{
$user_parent_id = $this->get_top_agent($id,$i);
if($user_parent_id == '0'){
break;
}
}
public function get_top_agent($id,$level){
if($level == 1){
//上级代理ID
$user_parent_id = DB::table('users')->where('id',$id)->value('user_parent_id');
if($user_parent_id == '0'){
return $user_parent_id;
}
}
if($level == 2){
$user_parent_id = DB::table('users')->where('id',$id)->value('user_parent_id');
$user_parent_id = DB::table('users')->where('id',$user_parent_id)->value('user_parent_id');
if($user_parent_id == '0'){
return $user_parent_id;
}
}
if($level == 3){
$user_parent_id = DB::table('users')->where('id',$id)->value('user_parent_id');
$user_parent_id = DB::table('users')->where('id',$user_parent_id)->value('user_parent_id');
$user_parent_id = DB::table('users')->where('id',$user_parent_id)->value('user_parent_id');
if($user_parent_id == '0'){
return $user_parent_id;
}
}
}
自己写的查询上级代理的ID,如果是0就等于查询结束
写的比较固定 有没有更好的写法?
以及如何查询下级用户? 把整个users表都 foreach一遍吗?
推荐文章: