gpt4 book ai didi

php - 上传到数据库时尝试获取非对象的属性

转载 作者:行者123 更新时间:2023-12-04 22:59:47 25 4
gpt4 key购买 nike

当用户可以剪辑视频时,我有一个脚本,然后该视频上传到公共(public)文件夹,现在我想将所有视频数据上传到数据库。但我得到了标题中的错误。这是我的代码:

Controller :

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

我应该编辑什么?

最佳答案

由于您要传递数组,因此您需要使用 $request['user_id']语法改为 $request->user_id .您收到错误是因为您试图将数组视为对象。

但是既然你在这里准备了数组,只需使用 create 方法:

public static function edit($data)
{
$this->destroy($data['old_id']);

return $this->create($data);;
}

不要忘记添加 $fillable 数组到您的模型以使其工作。

关于php - 上传到数据库时尝试获取非对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47499229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com