Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Custom Fields Laravel Package

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.

View on GitHub
Deep Wiki
Context7

title: Import/Export description: Learn how to import and export custom field data with import/export actions navigation: icon: i-lucide-file-output

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.

Import Implementation

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();
    }
}

Export Implementation

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(),
        ];
    }
}
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager