Laravel 使用 Spatie\MediaLibrary 上传文件时出现包错误

Laravel package error on file uploading using Spatie\MediaLibrary

我只是尝试使用 Spatie\MediaLibrary 包将图像上传到服务器。然后 laravel 给出了找不到函数的错误。我尝试了所有的解决方案,但没有人奏效

This is the code that i am using

> public function update(Request $request, Channel $channel)
>     {
>        if($request->hasFile("image")){
>          $channel->addAllMediaFromRequest('image')->toMediaCollection('images');
>        }
>     }

use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use \YouTube\Model;
use App\User;

class Channel extends Model implements HasMedia
{
    use HasMediaTrait;
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

this is my model

我认为错误很明显,说它无法找到您在 use 语句中的模型 use \YouTube\Model;。您真的应该导入 laravel 模型。即

use Illuminate\Database\Eloquent\Model;

addAllMediaFromRequest()方法returns新添加媒体的集合。

您需要遍历每个添加的文件以将其添加到集合中。

$channel->addAllMediaFromRequest('image')
    ->each(function ($fileAdder) {
        $fileAdder->toMediaCollection('images');
    });