diff --git a/src/HasMedia.php b/src/HasMedia.php index 9fe44fcbf..c1e83c8cd 100644 --- a/src/HasMedia.php +++ b/src/HasMedia.php @@ -44,4 +44,6 @@ public function registerMediaConversions(?Media $media = null): void; public function registerMediaCollections(): void; public function registerAllMediaConversions(): void; + + public function getMediaModel(): string; } diff --git a/src/MediaCollections/FileAdder.php b/src/MediaCollections/FileAdder.php index 459cded13..ed441820d 100644 --- a/src/MediaCollections/FileAdder.php +++ b/src/MediaCollections/FileAdder.php @@ -237,7 +237,7 @@ public function toMediaCollectionFromRemote(string $collectionName = 'default', throw FileIsTooBig::create($this->pathToFile, $storage->size($this->pathToFile)); } - $mediaClass = config('media-library.media_model'); + $mediaClass = $this->subject?->getMediaModel() ?? config('media-library.media_model'); /** @var Media $media */ $media = new $mediaClass(); @@ -300,7 +300,7 @@ public function toMediaCollection(string $collectionName = 'default', string $di throw FileIsTooBig::create($this->pathToFile); } - $mediaClass = config('media-library.media_model'); + $mediaClass = $this->subject?->getMediaModel() ?? config('media-library.media_model'); /** @var Media $media */ $media = new $mediaClass();