使用MediaLibrary软件包时出现此错误
Interface 'Spatie\MediaLibrary\HasMedia' not found
Trait 'Spatie\MediaLibrary\InteractsWithMedia' not found
我的项目详细信息:-
php:7.3.22
laravel:7.28.3
我尝试遵循v7文档,并且还运行以下命令
composer require spatie/laravel-medialibrary
除此之外,我还检查了其他post,我已经按照大多数步骤进行了操作,但是仍然遇到相同的错误
composer.json
"require": {
"php": "^7.2.5",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "^7.0",
"laravel/tinker": "^2.0",
"laravelcollective/html": "^6.2",
"spatie/laravel-activitylog": "^3.16",
"spatie/laravel-medialibrary": "^7.19"
},
模型
use Illuminate\Database\Eloquent\Model;
use Spatie\Activitylog\Traits\LogsActivity;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Applicant extends Model implements HasMedia
{
use LogsActivity, InteractsWithMedia;
}
答案 0 :(得分:1)
请确保遵循所使用的Laravel-medialibrary特定版本的文档。就您而言,version 7。看来您正在遵循version 8文档。
在版本7中,特征是Spatie\MediaLibrary\HasMedia\HasMediaTrait
而不是Spatie\MediaLibrary\InteractsWithMedia
。接口是Spatie\MediaLibrary\HasMedia\HasMedia
而不是Spatie\MediaLibrary\HasMedia
。
如果要改用版本8,请将要求更改为"spatie/laravel-medialibrary": "^8.0"
,然后运行composer update
。