schema([ Forms\Components\Section::make('Class Information') ->schema([ Forms\Components\TextInput::make('class_name') ->label('Class Name') ->required() ->maxLength(50), Forms\Components\Select::make('class_level') ->label('Class Level') ->required() ->options([ '1' => 'Class 1', '2' => 'Class 2', '3' => 'Class 3', '4' => 'Class 4', '5' => 'Class 5', '6' => 'Class 6', ]), Forms\Components\Select::make('homeroom_teacher_id') ->label('Homeroom Teacher') ->relationship( name: 'homeroomTeacher', titleAttribute: 'name', modifyQueryUsing: fn ($query) => $query->whereHas('roles', function ($q) { $q->where('name', 'teacher'); }), ) ->searchable() ->preload() ->required(), Forms\Components\TextInput::make('academic_year') ->label('Academic Year') ->required() ->placeholder('Example: 2023/2024') ->maxLength(9), ])->columns(2) ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('class_name') ->searchable(), Tables\Columns\TextColumn::make('class_level') ->searchable(), Tables\Columns\TextColumn::make('homeroomTeacher.name') ->label('Homeroom Teacher'), Tables\Columns\TextColumn::make('academic_year') ->searchable(), Tables\Columns\TextColumn::make('created_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('updated_at') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), Tables\Actions\DeleteAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // RelationManagers\HomeroomTeacherRelationManager::class, ]; } public static function getPages(): array { return [ 'index' => Pages\ListClassRooms::route('/'), 'create' => Pages\CreateClassRoom::route('/create'), 'edit' => Pages\EditClassRoom::route('/{record}/edit'), ]; } }