code resource crear i editar en filament3 laravel11
code resource crear i editar en filament3 laravel11
crear code resource filament:
php artisan make:filament-resource Code --generate
editar:
<?php namespace App\Filament\Resources; use App\Filament\Resources\CodeResource\Pages; use App\Filament\Resources\CodeResource\RelationManagers; use App\Models\Code; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; use Filament\Tables; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Forms\Components\SpatieTagsInput; use Filament\Forms\Components\TextInput; use Filament\Forms\Set; use Closure; use Illuminate\Support\Str; use Filament\Forms\Components\BelongsToSelect; use Filament\Forms\Components\FileUpload; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\Toggle; use Filament\Forms\Components\MarkdownEditor; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\BooleanColumn; use Filament\Tables\Columns\SpatieTagsColumn; class CodeResource extends Resource { protected static ?string $model = Code::class; protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack'; public static function form(Form $form): Form { return $form ->schema([ Forms\Components\TextInput::make('nom') ->required() ->maxLength(255), Forms\Components\RichEditor::make('blockcode') ->required() ->columnSpanFull(), Forms\Components\Select::make('framework_id') ->relationship(name: 'framework', titleAttribute: 'name'), Forms\Components\SpatieTagsInput::make('tags'), Forms\Components\TextInput::make('youtube') ->maxLength(255) ->default(null), Forms\Components\TextInput::make('url') ->maxLength(255) ->default(null), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('id') ->searchable()->sortable(), Tables\Columns\TextColumn::make('nom')->limit('25') ->searchable()->sortable(), Tables\Columns\TextColumn::make('framework_id') ->numeric() ->sortable(), SpatieTagsColumn::make('tags'), Tables\Columns\TextColumn::make('youtube')->limit('6') ->searchable(), Tables\Columns\TextColumn::make('url')->limit('3') ->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(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListCodes::route('/'), 'create' => Pages\CreateCode::route('/create'), 'edit' => Pages\EditCode::route('/{record}/edit'), ]; } }
- Categoria: web_development
- URL: https://filamentphp.com/docs/3.x/panels/resources/getting-started#automatically-generating-forms-and-tables
- YouTube: https://www.youtube.com/watch?v=JOPe7DvUq1Y
- Etiquetes: laravel, filament, create, resource
- Data de creació: 27/05/2023
- Última actualització: 20/01/2025