Factory Action
This adds a new action to the Filament admin panel table, enabling easy generation of test records for your database tables using your Laravel Factory definitions.
Author:
CodeWithDennis
Documentation
This plugin adds a new feature to the Filament admin panel table, enabling easy generation of test records for your database tables using your Laravel Factory definitions.
This plugin extends the standard Filament action, ensuring that you can continue to utilize all the methods that are typically available within the action class
#Installation
You can install the package via composer:
composer require codewithdennis/filament-factory-action
#Usage Example
Prior to utilizing this action, it is essential to ensure that you have set up a factory for your model.
class ProfileFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->company(),
'is_public' => rand(0, 1),
];
}
}
Suppose you already possess a ProfileResource within the Filament framework. You can integrate the action into the ListProfiles class, as demonstrated in the following example.
FactoryAction::make(),
use App\Filament\Resources\ProfileResource;
use CodeWithDennis\FactoryAction\FactoryAction;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
class ListProfiles extends ListRecords
{
protected static string $resource = ProfileResource::class;
protected function getHeaderActions(): array
{
return [
FactoryAction::make()
->color('danger')
// ->slideOver()
->icon('heroicon-o-wrench'),
Actions\CreateAction::make()
];
}
}
You can create/attach relational records with the following example. Just make certain that these models also possess their respective factories
protected function getHeaderActions(): array
{
return [
FactoryAction::make()
// If you want to create or create and attach you can do so using `hasMany`
->hasMany([Badge::class, Category::class])
// If you want to attach existing models you can do so using `belongsToMany`
->belongsToMany([Badge::class, Category::class]),
];
}
The default behavior is to hide the action in production environments, but you can override this by using your own logic:
->hidden(fn() => false)
#Showcase
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Advanced Components
This plugin extends existing FilamentPHP components with advanced features and enhanced functionality.
Author:
CodeWithDennis
Larament
Kickstart your project and save time with Larament! This time-saving starter kit includes a Laravel project with FilamentPHP already installed and set up, along with extra features.
Author:
CodeWithDennis
Advanced Choice
A beautifully styled, fully customizable set of radio group components for FilamentPHP 4.
Author:
CodeWithDennis
Simple Alert
A plugin for adding straightforward alerts to your Filament pages.
Author:
CodeWithDennis
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle