ebess / advanced-nova-media-library

A Laravel Nova field for displaying, creating, updating and ordering a Spatie Media Library model.
591 stars 295 forks source link

Call to undefined method App\Models\Product::getMedia() #326

Open pit07 opened 2 years ago

pit07 commented 2 years ago

Hi!

I have an issue with this extension.

Call to undefined method App\Models\Product::getMedia()

My model:


use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\MediaCollections\Models\Media;

class Product extends Model
{
    use HasFactory;

    public function registerMediaCollections(): void
    {
        $this->addMediaCollection('gallery');
    }
}

My nova file:

use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Ebess\AdvancedNovaMediaLibrary\Fields\Images;

public function fields(NovaRequest $request)
    {
        return [
            ID::make()->sortable(),
            Images::make('Multiple files', 'gallery'),
        ];
    }

Thanks for your help!

8108905 commented 2 years ago

first composer require spatie/laravel-medialibrary second Model

class XXXXX extends Model implements HasMedia { use HasFactory; use InteractsWithMedia; }

Will be working

interpegasus commented 2 years ago

I solved the issue by preparing the Model according to instructions at:

https://spatie.be/docs/laravel-medialibrary/v10/basic-usage/preparing-your-model