label('Crear'), ]; } public function getTabs(): array { return [ 'todos' => Tab::make('Todos') ->badge( \App\Models\Ojal::count() + \App\Models\Prensilla::count() ), 'ojales' => Tab::make('Ojales') ->badge(\App\Models\Ojal::count()) ->modifyQueryUsing(fn ($query) => $query), 'prensillas' => Tab::make('Prensillas') ->badge(\App\Models\Prensilla::count()) ->modifyQueryUsing(fn ($query) => $query->whereRaw('1=0')), // Vacío por defecto ]; } protected function getTableQuery(): ?\Illuminate\Database\Eloquent\Builder { $activeTab = $this->activeTab ?? 'todos'; // Siempre retornar ojales como base, pero ajustar qué se muestra if ($activeTab === 'prensillas') { // Para mostrar prensillas, necesitamos cambiar el modelo dinámicamente // Por limitaciones de Filament, mantener ojales pero filtrar a ninguno return \App\Models\Ojal::query()->whereRaw('1=0'); } return \App\Models\Ojal::query(); } public function getTableRecordUrlUsing(): ?\Closure { return function (Model $record): ?string { // Determinar a qué recurso redirigir según el tipo if ($record instanceof \App\Models\Ojal) { return \App\Filament\Resources\OjalResource::getUrl('edit', ['record' => $record]); } else { return \App\Filament\Resources\PrensillaResource::getUrl('edit', ['record' => $record]); } }; } }