2

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

这是我正在使用的代码

> 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);
    }
}

这是我的模型

4

2 回答 2

2

addAllMediaFromRequest()方法返回一组新添加的媒体。

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

$channel->addAllMediaFromRequest('image')
    ->each(function ($fileAdder) {
        $fileAdder->toMediaCollection('images');
    });
于 2020-01-27T06:03:54.003 回答
0

我认为错误很明显,说它找不到您在使用语句中拥有的模型use \YouTube\Model;。你真的应该导入 laravel 模型。IE

use Illuminate\Database\Eloquent\Model;
于 2020-01-26T19:17:02.143 回答