我想使用create($ request-> all())雄辩的方法插入数据,但问题是$ request-> all()包含文件名,该文件名是表单中的默认原始文件名,但我更改了此实际文件名作为time()标记,所以我使用$ request-> request-> add(['image'=> $ filename]);但是插入数据库后包含一个临时文件名。如何更新$ request数组中的文件名。
$filename=time().'.'.$request->file('image')->getClientOriginalExtension();
$request->file('image')->move(public_path().'/marriagepackage/',$filename);
$request->request->add(['image' =>$filename]);
$package=Marriagepackage::create($request->all());
当我检查表时,图像字段为“ D:\ xamp \ tmp \ php50C7.tmp”时,实际的期望值是$ filename中的time()戳值。
答案 0 :(得分:2)
不要尝试用请求覆盖内容。这不是一个好主意。就您而言,您可以将请求数组与您的属性合并:
$package = Marriagepackage::create(array_merge($request->all(), [ "image" => $filename ]));
答案 1 :(得分:1)
简单方法
$request->request->add([
"image" => $filename
]);