我剛剛開始使用 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); }}
2 回答

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
在模型類聲明中,您有:“類服務擴展模型”您需要:“類服務擴展模型實現 HasMedia”
...
...
use Spatie\MediaLibrary\HasMedia;
class Service extends Model implements HasMedia
{
// code
}
..

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
我做了這個
composer require spatie/laravel-medialibrary:10.0.7
問題已解決 laravel 9 medialibrary 10.0.7
- 2 回答
- 0 關注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消