php - 使用 Spatie\MediaLibrary 上传文件时 Laravel 包错误
问题描述
我只是尝试使用 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);
}
}
这是我的模型
解决方案
该addAllMediaFromRequest()
方法返回一组新添加的媒体。
您需要遍历每个添加的文件以将其添加到集合中。
$channel->addAllMediaFromRequest('image')
->each(function ($fileAdder) {
$fileAdder->toMediaCollection('images');
});
推荐阅读
- javascript - 更改地址栏中的整个 url (Javascript)
- jquery - 如何解决重定向到 undefiend 路由 laravel?
- scala - 使用 scala 猫检查非空字段的组合
- windows - SIGUSR1/2 for Go 的 Windows 等效项是什么?
- ios - 在应用程序外打开 react native expo 应用程序外部链接
- google-cloud-platform - 从 GCP 中的日志接收器创建 BigQuery 数据集
- laravel - 在 Laravel 布局页面中获取当前登录用户
- git - 仅将不同的存储库移动到一个更改结构中
- keycloak - Keycloak URL 片段在登录时不会消失
- ruby-on-rails - 带有 Systemd 的 Puma 无法启动