filamentphp/filament · error · LogicException
The [{static::class}] requires the model to implement the [{
Error message
The [{static::class}] requires the model to implement the [{HasMedia::class}] interface from the Spatie Media Library package. What it means
Error "The [{static::class}] requires the model to implement the [{HasMedia::class}] interface from the Spatie Media Library package." thrown in filamentphp/filament.
Source
Thrown at packages/spatie-laravel-media-library-plugin/src/Forms/Components/RichEditor/FileAttachmentProviders/SpatieMediaLibraryFileAttachmentProvider.php:87
}
public function attribute(RichContentAttribute $attribute): static
{
$this->attribute = $attribute;
return $this;
}
public function getExistingModel(): ?HasMedia
{
$model = $this->attribute->getModel();
if (! $model->exists) {
return null;
}
if (! ($model instanceof HasMedia)) {
throw new LogicException('The [' . static::class . '] requires the model to implement the [' . HasMedia::class . '] interface from the Spatie Media Library package.');
}
return $model;
}
public function getMedia(): ?MediaCollection
{
if ($this->media) {
return $this->media;
}
/** @var ?MediaCollection $media */
$media = $this->getExistingModel()?->getMedia($this->getCollection())->keyBy('uuid');
return $this->media = $media;
}
public function getFileAttachmentUrl(mixed $file): ?stringView on GitHub (pinned to 53483fa934)
When it happens
Trigger: Thrown at packages/spatie-laravel-media-library-plugin/src/Forms/Components/RichEditor/FileAttachmentProviders/SpatieMediaLibraryFileAttachmentProvider.php:87 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of filamentphp/filament@53483fa934 (2026-08-17).
Data as JSON: /api/errors/b21317b5cb6bd86d.
Report an issue: GitHub.