방금 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);
}
}
모델 클래스 문에서 "class Service extends Model"이 필요합니다. "class Service extends Model implements HasMedia"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다