This package provides attachment management using a polymorphic morphMany relationship within Filament. The system allows for the seamless association of attachments with various models, enabling flexible and efficient handling of file attachments across your application.
You can install the package via composer:
composer require zeeshantariq/filament-attachmate
The package comes with publishable assets:
Migrations
php artisan vendor:publish --tag="filament-attachmate-migrations"
- Create your model
php artisan make:model MyModel
- Configure your model to handle morphMany attachments
use ZeeshanTariq\FilamentAttachmate\Core\InteractsWithAttachments;
// ...
class MyModel extends Model
{
use InteractsWithAttachments;
// ...
}
- Configure the Filament resource
- In your
form
Filament resource declaration you need to addAttachmentFileUpload::make()
so your users can upload the attachments.
use ZeeshanTariq\FilamentAttachmate\Forms\Components\AttachmentFileUpload;
public static function form(Form $form): Form
{
return $form
->schema([
// ...
AttachmentFileUpload::make(),
]);
}
- Configure the Filament resource The last configuration needed, is to add HandleAttachmets trait to the CreateRecord components of your model
CreateRecord component
use ZeeshanTariq\FilamentAttachmate\Core\HandleAttachments;
class CreateMyModel extends CreateRecord
{
use HandleAttachments;
// ...
}
- Configure the Filament resource The last configuration needed, is to add HandleAttachmets trait to the EditRecord components of your model
EditRecord component
use ZeeshanTariq\FilamentAttachmate\Core\HandleAttachments;
class EditMyModel extends EditRecord
{
use HandleAttachments;
// ...
}
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.