Laravel 7:找不到接口'Spatie \ MediaLibrary \ HasMedia'

时间:2020-09-28 13:51:06

标签: laravel-7 spatie

使用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;
}

1 个答案:

答案 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