图像未在laravel媒体库中上传

时间:2020-08-22 12:50:00

标签: php mysql laravel

我刚开始使用laravel媒体库。将图像上传到数据库时,出现错误。我尝试在文档中进行搜索,但是找不到答案。

我得到的错误


Argument 1 passed to Spatie\MediaLibrary\MediaCollections\FileAdder::processMediaItem() must be an 
instance of Spatie\MediaLibrary\HasMedia, instance of App\Service given, called in 
C:\xampp\htdocs\Matheen\furniture_backend\vendor\spatie\
laravel-medialibrary\src\MediaCollections\FileAdder.php on line 372

控制器

public function store(Request $request)
    {
        $service = Service::create([
            'service_name' => $request->service_name
        ]);

        $file = $request->file('image');
        $service->addMedia($file)->toMediaCollection('services');

        return redirect('services')->with('success','Service Added Successfully');

    }

型号

use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\HasMedia;


class Service extends Model
{
    use InteractsWithMedia;

     protected $fillable = ['service_name'];


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

     public function registerMediaConversions(Media $media = null): void
     {
        $this->addMediaConversion('thumbnail')
            ->width(1000)
            ->height(250);
     }


}

1 个答案:

答案 0 :(得分:1)

在模型类中的声明 您具有:“类服务扩展模型” 您需要:“类服务扩展模型实现HasMedia”