Hi Guys,
I am trying to upload images using the spatie media library. But I am getting the below error while I am trying to upload an image.
Argument 1 passed to Spatie\MediaLibrary\FileAdder\FileAdder::processMediaItem() must be an instance of Spatie\MediaLibrary\HasMedia\HasMedia, instance of App\Model\Category given, called in C:\wamp64\www\projects\2021\laravel\edexa\vendor\spatie\laravel-medialibrary\src\FileAdder\FileAdder.php on line 364
Here is my model
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
class Category extends Model
{
use HasMediaTrait;
protected $fillable = ['name', 'slug', 'description', 'status'];
}
Hire is my upload function.
public function store(Request $request)
{
Validator::make($request->all(), [
'name' => 'required',
'image' => 'required',
'description' => 'required',
])->validate();
$category = Category::create([
'name' => $request->name,
'slug' => Str::slug($request->name, '-'),
'description' => $request->description,
]);
$category->addMedia($request->file('image'))->toMediaCollection('category');;
return back()->with('success', 'Category created.');
}
Anyone can help me with this?