where('user_id', $userId)->delete(); if (count($roleIds) > 0) { $insertDataRole = []; foreach ($roleIds as $roleId) { $insertDataRole[] = [ 'role_id' => $roleId, 'user_id' => $userId ]; } $res = Db::table('user_roles')->insert($insertDataRole); var_dump($res); } Db::table('user_systems')->where('user_id', $userId)->delete(); if (count($systemIds) > 0) { $insertDataSystem = []; foreach ($systemIds as $systemId) { $insertDataSystem[] = [ 'system_id' => $systemId, 'user_id' => $userId ]; } Db::table('user_systems')->insert($insertDataSystem); } Db::commit(); return true; } catch (\Throwable $exception) { Db::rollBack(); return false; } } public function updateUserResources(array $data): bool { $userId = $data['user_id'] ?? 0; $resources = $data['resources'] ?? []; if (empty($userId)) { return false; } Db::beginTransaction(); try { // 删除原有资源关联 Db::table('user_resources')->where('user_id', $userId)->delete(); // 批量插入新角色资源关联 if (!empty($resources)) { $insertData = []; foreach ($resources as $resourceId) { $insertData[] = [ 'user_id' => $userId, 'resource_id' => $resourceId ]; } Db::table('user_resources')->insert($insertData); } Db::commit(); return true; } catch (\Throwable $exception) { Db::rollBack(); return false; } } }