rolePermissionService = $rolePermissionService; } /** * 역할 권한 관리 메인 페이지 */ public function index(Request $request) { $tenantId = session('selected_tenant_id'); // 역할 목록 조회 $rolesQuery = Role::query()->orderBy('tenant_id')->orderBy('name'); if ($tenantId && $tenantId !== 'all') { // 특정 테넌트 선택 시 $roles = $rolesQuery->where('tenant_id', $tenantId)->get(); $rolesByTenant = null; } else { // 전체 선택 시 테넌트별 그룹핑 $roles = $rolesQuery->get(); $rolesByTenant = $roles->groupBy('tenant_id'); // 테넌트 정보 로드 $tenantIds = $rolesByTenant->keys()->filter()->toArray(); $tenants = Tenant::whereIn('id', $tenantIds)->pluck('company_name', 'id'); } return view('role-permissions.index', [ 'roles' => $roles, 'rolesByTenant' => $rolesByTenant ?? null, 'tenants' => $tenants ?? collect(), 'selectedTenantId' => $tenantId, ]); } }