where("is_robot", 1)->get(); if($robots){ foreach ($robots as $robot) { //检测是否在线 if(Gateway::isOnline($robot->client_id)){ //检测游戏是否结束 $has_game = RoomUser::where("user_id", $robot->user_id)->where("state", 1)->count(); if(!$has_game){ $message['type'] = "game_end"; Gateway::sendToUid($robot->user_id, json_encode($message)); } }else{ //检测游戏是否结束 $room_id = RoomUser::where("user_id", $robot->user_id)->where("state", 1)->value("room_id"); if($room_id){ //房间是否结束 $is_end = Room::where("room_id", $room_id)->where("is_end", 1)->count(); if($is_end){ unset($update_data); $update_data['state'] = 0; RoomUser::where("user_id", $robot->user_id)->where("state", 1)->update($update_data); } } $update_data["is_login"] = 0; User::where("user_id", $robot->user_id)->update($update_data); } } } sleep(5); } } }