我有一个脚本,当用户可以剪辑视频,然后该视频上传到公共文件夹,现在我想将所有视频数据上传到数据库。但我得到的标题错误。这是我的代码:
控制器:
public function clip($id)
{
$video = Video::where('id', $id)->first();
$oldId = $video->id;
$originalName = $video->original_name;
$newName = str_random(50) . '.' . 'mp4';
FFMpeg::fromDisk('public')
->open('/uploads/videos/' .$video->file_name)
->addFilter(function ($filters) {
$filters->clip(FFMpeg\Coordinate\TimeCode::fromSeconds(5), FFMpeg\Coordinate\TimeCode::fromSeconds(2));
})
->export()
->toDisk('public')
->inFormat(new \FFMpeg\Format\Video\X264)
->save('/uploads/videos/' . $newName);
$data = ['user_id'=>Auth::user()->id,
'file_name'=>$newName,
'original_name'=> $originalName,
'old_id' => $oldId,
];
$video = Video::edit($data);
}
型号:
public static function edit($request)
{
$video = new Video;
$video->user_id = $request->user_id;
$video->file_name = $request->file_name;
$video->original_name = $request->original_name;
$video->save();
$old = $file = Video::where('id', $request->old_id)->delete();
//$old_file = unlink($request->file('file'));
return $video;
}
我应该编辑什么?
答案 0 :(得分:1)
由于您要传递数组,因此需要使用$request['user_id']
语法而不是$request->user_id
。您收到错误是因为您正在尝试将数组视为对象。
但是由于你在这里准备了数组,只需使用create method:
public static function edit($data)
{
$this->destroy($data['old_id']);
return $this->create($data);;
}
不要忘记将$fillable
数组添加到模型中以使其正常工作。