user; UserZ::where('phone',$user->mobile)->where('level_name','!=','政委')->update(['openid'=>null,'status'=>1]); if($user->level==3){ Service::where('phone',$user->mobile)->delete(); $recom = User::find($user->recom_id);//代理邀请人信息 $warea=Warea::where('id',$recom->warea_id)->first(); $war_name= explode('战区',$warea->name)[0]; if ($recom->level == '3') {//邀请人等级信息 $this->updateUserZ($user->id,$recom->nickname,$recom->mobile,$war_name); } elseif ($recom->level == '2') { $up=User::where('id',$recom->agent_id)->first(); $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name); } elseif ($recom->level == '1') { $uup = User::find($recom->agent_id);//代理邀请人上级信息 if($uup->level==3){ $up=$uup; }else{ $up=User::find($uup->agent_id); } $this->updateUserZ($user->id,$up->nickname,$up->mobile,$war_name); } } } public function updateUserZ($uid,$nickname,$mobile,$war_name){ $users=User::where('recom_id',$uid)->get(); if(count($users)>0){ foreach($users as $key=>$val){ if($val->level==1 || $val->level==2){ UserZ::where('phone',$val->mobile)->where('level_name','!=','政委')->update([ 'up_phone'=>$mobile, 'up_name'=>$nickname, 'war_names'=>$war_name ]); } } $this->updateUserZ($val->id,$nickname,$mobile,$war_name); } } }