relaticle/custom-fields
Laravel/Filament plugin to add dynamic custom fields to any Eloquent model without migrations. Includes 20+ field types, conditional visibility, tenant isolation, admin UI integration (forms/tables/infolists), CSV import/export, optional encryption, and extensible field types.
The Custom Fields plugin provides robust import and export capabilities for handling custom field data. This documentation explains how to integrate custom fields with Filament's import/export actions.
namespace App\Filament\Imports;
use App\Models\Product;
use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer;
use Relaticle\CustomFields\Facades\CustomFields;
class ProductImporter extends Importer
{
protected static ?string $model = Product::class;
// Simplest implementation: Add columns in getColumns()
public static function getColumns(): array
{
return [
// Regular columns
ImportColumn::make('name')->requiredMapping()->rules(['required']),
ImportColumn::make('price')->numeric(),
// Add all custom fields
...CustomFields::importer()->forModel(self::getModel())->columns(),
];
}
// After saving model, save custom fields
protected function afterSave(): void
{
CustomFields::importer()->forModel($this->record)->saveValues();
}
}
namespace App\Filament\Exports;
use App\Models\Product;
use Filament\Actions\Exports\ExportColumn;
use Filament\Actions\Exports\Exporter;
use Relaticle\CustomFields\Facades\CustomFields;
class ProductExporter extends Exporter
{
protected static ?string $model = Product::class;
// Simply add your columns and spread in the custom fields
public static function getColumns(): array
{
return [
ExportColumn::make('id'),
ExportColumn::make('name'),
ExportColumn::make('price'),
// Add all custom fields
...CustomFields::exporter()->forModel(self::getModel())->columns(),
];
}
}
How can I help you explore Laravel packages today?