where('guard_name', 'web') ->orderBy('name'); if ($tenantId) { $query->where('tenant_id', $tenantId); } $permissions = $query->get(['id', 'name']); return view('roles.create', compact('permissions')); } /** * 역할 수정 화면 */ public function edit(int $id): View { $role = $this->roleService->getRoleById($id); if (! $role) { abort(404, '역할을 찾을 수 없습니다.'); } $tenantId = session('selected_tenant_id'); // 권한 목록 조회 (현재 테넌트 또는 전체) $query = \Spatie\Permission\Models\Permission::query() ->where('guard_name', 'web') ->orderBy('name'); if ($tenantId) { $query->where('tenant_id', $tenantId); } $permissions = $query->get(['id', 'name']); // 현재 역할이 가진 권한 ID 목록 $rolePermissionIds = $role->permissions->pluck('id')->toArray(); return view('roles.edit', compact('role', 'permissions', 'rolePermissionIds')); } }