components(static::getForm()); } public static function getForm(bool $forRelationManager = false): array { return [ TextInput::make('title') ->label(__('Title')) ->required() ->maxLength(255), Textarea::make('content') ->label(__('Content')) ->required(), Select::make('category_id') ->label(__('Category')) ->relationship('category', 'name') ->required() ->visible(! $forRelationManager), Select::make('user_id') ->label(__('User')) ->relationship('user', 'username') ->required(), Toggle::make('open') ->label(__('Open')) ->default(true), ]; } #[\Override] public static function table(Table $table): Table { return $table ->columns(static::getTable()); } public static function getTable(): array { return [ TextColumn::make('id') ->label(__('ID')) ->sortable(), TextColumn::make('title') ->label(__('Title')) ->searchable(), TextColumn::make('user.username') ->label(__('User')) ->searchable(), TextColumn::make('category.name') ->label(__('Category')), ToggleColumn::make('open') ->label(__('Open')), TextColumn::make('created_at') ->label(__('Created')) ->dateTime(), ]; } #[\Override] public static function getRelations(): array { return [ CategoriesRelationManager::class, ]; } #[\Override] public static function getPages(): array { return [ 'index' => ListHelpQuestions::route('/'), 'create' => CreateHelpQuestion::route('/create'), 'view' => ViewHelpQuestion::route('/{record}'), 'edit' => EditHelpQuestion::route('/{record}/edit'), ]; } }