我只是尝试使用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);
}
}
这是我的模特
答案 0 :(得分:2)
addAllMediaFromRequest()
方法返回新添加媒体的集合。
您需要遍历每个添加的文件,以将其添加到集合中。
$channel->addAllMediaFromRequest('image')
->each(function ($fileAdder) {
$fileAdder->toMediaCollection('images');
});
答案 1 :(得分:0)
我认为该错误非常明显,因为它无法找到您正在使用的语句use \YouTube\Model;
中的模型。您确实应该导入laravel模型。即
use Illuminate\Database\Eloquent\Model;