where(['id' => $room_id, 'user_id' => $user_id])->field('id')->find(); //管理 $management = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $user_id,'delete_time' => null,'type' => 2])->find(); //主持 $host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $user_id,'delete_time' => null,'type' => 1])->find(); //操作者的最大角色 $max_role = 0; if ($host) { $max_role = 1; } if ($management) { $max_role = 2; } if ($owner) { $max_role = 3; } //被操作者 //房主 $owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $accept_user_id])->field('id')->find(); //管理 $management = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $accept_user_id,'delete_time' => null,'type' => 2])->find(); //主持 $host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $accept_user_id,'delete_time' => null,'type' => 1])->find(); //被操作者最大角色 $max_role_accept = 0; if ($host) { $max_role_accept = 1; } if ($management) { $max_role_accept = 2; } if ($owner) { $max_role_accept = 3; } if ($max_role_accept > $max_role) { return false; } return true; } }