select("id") ->where("user_id", $uid) ->where("is_del", false) ->first; $r = 0; foreach ($roles as $role) { $r = $r & $role; } if (!$checkData) { // 插入新数据 $this->user_id = $uid; $this->roles = $r; $this->save(); } else { // 更新旧角色 $this->roles = $r; $this->save(); } return"success"; } public function LoadRoleByUid($uid) { $role = $this->select("user_id", "role_id", "status") ->where("user_id", $uid) ->where("is_del", false) ->first(); return $role; } /** * 根据角色id,列出用户-角色数据 * * @param $rids 多个角色id * @return array */ public function LoadUsersWithRoles($rids) { $user_roles = $this->select("id", "user_id", "role_id", "status") ->whereIn("role_id", $rids)->where("is_del", false) ->get(); $uids = []; foreach ($user_roles as $ur) { array_push($uids, $ur["user_id"]); } if (count($uids) == 0) { return ["user_role" => [], "userInfo" => null]; } // load user info $u = new User(); $users = $u->ListUserByIds_KV($uids); return ["user_role" => $user_roles, "userInfo" => $users]; } }