share-lt/app/Models/Entry.php
jon brookes 5ea0ddce23 feat: integrate Spatie Media Library and update configuration
- Added Spatie Media Library dependencies to composer.json
- Created media table migration for media management
- Added media library configuration file
- Updated Entry model to support media handling
- Updated .gitignore to exclude Vite files
- Added basic logging to app.js
2026-01-02 16:56:48 +00:00

42 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Filament\Forms\Components\RichEditor\FileAttachmentProviders\SpatieMediaLibraryFileAttachmentProvider;
use Filament\Forms\Components\RichEditor\Models\Concerns\InteractsWithRichContent;
use Filament\Forms\Components\RichEditor\Models\Contracts\HasRichContent;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Entry extends Model implements HasRichContent, HasMedia
{
use InteractsWithMedia, InteractsWithRichContent;
protected $fillable = [
'title',
'slug',
'description',
'is_published',
'is_featured',
'published_at',
'content',
];
/**
* Set up rich content configuration for media library integration
*/
public function setUpRichContent(): void
{
$this->registerRichContent('content')
->fileAttachmentProvider(
SpatieMediaLibraryFileAttachmentProvider::make()
->collection('content-attachments')
->preserveFilenames()
);
}
}