1
我使用Laravel 5.4和我有一个存储图像在项目的公共文件夹,然后保存它的路径插入数据库项目列一个注册方法,它现在的工作对:更新图像路径存储laravel
public function salvar(Request $request){
if ($request->hasFile('image')){
$product = new Product();
$id = Produto::max('id')+1;
$file = request()->file('image');
$directoryImg = $file->storeAs('images/'. $id , 'image.jpg');
$produto->description= $request->description;
$produto->cathegory = $request->cathegory;
$produto->price = $request->price;
$produto->image = $directoryImg;
$produto->save();
}
else{
$product = new Product();
$product = $product->create($request->all());
}
\Session::flash('mensage_success', 'Done!');
return Redirect::to('products/new');
}
问题是,当我使用另一种方法更新项目寄存器时,我更改的所有信息都会转到数据库,除了未存储在路径中的图像和数据库中的路径本身之外。该字段在执行方法前保留其具有的值:
public function update($id, Request $request){
$productEdit = Product::find($id);
if ($request->hasFile('image')){
$file = request()->file('image');
$directoryImg = $file->storeAs('images/' . $productEdit->id , 'image.jpg');
$productEdit->image = $directoryImg;
$productEdit->description = $request->description;
$productEdit->cathegory = $request->cathegory;
$productEdit->price = $request->price;
$productEdit->save();
}
}
return Redirect::to('products/');
有人可以帮我找到我在这里丢失的东西吗?
$ productEdit->保存(),而不是$ produto –
的$ produto保存()仅仅是一个拼写错误。在原来的代码中它已经是$ productEdit-> save()。大声笑 –
[编辑]有更多最新代码的问题。 –