How to update an image
i was working on a project and i am stuck at my update method i couldnt find any way to update my image.
can any one help me with the update method ?
this is the store method
public function store(Request $request, Home $home){
$this->validate($request, [
'title_slider' => 'required',
'description_slider' => 'required',
'button_slider' => 'required',
'button_link_slider' => 'required',
'featured_image' => 'required',
]);
$destination='uploads/HomePage/Slider';
$fileName=$request->file('featured_image')->getClientOriginalName();
if( !$request->file('featured_image')->move($destination, $fileName))
{
return redirect()->back()->withErrors(['Something is wrong', 'Please Ab' ]);
}
$data = $request->all();
$data['featured_image'] = "{$destination}/{$fileName}";
$home->create($data);
Session::flash('success','Slider is uploaded ');
return redirect('home');
}
you can just..
$home->title_slider = $data['title_slider '];
$home->description_slider= $data['description_slider'];
$home->button_slider= $data['button_slider'];
$home->button_link_slider= $data['button_link_slider'];
$home->featured_image = $data['featured_image'];
$home->save();
I want to replace the old image in the destination folder
You should try this:
//Update your code like
$destination='uploads/HomePage/Slider';
$file = $request->file('featured_image');
if($file !== null) {
$fileName = $file->getClientOriginalName();
$file->move($destination, $fileName);
}
Hope this help for you !!!
thanks for the reply ..and i tried the code but it is giving me an error
my code is...
public function update(Request $request, $id, Home $home){
$this->validate($request, [
'title_slider' => 'required',
'description_slider' => 'required',
'button_slider' => 'required',
'button_link_slider' => 'required',
'featured_image' => 'required',
]);
$destination='uploads/HomePage/Slider';
$file = $request->file('featured_image');
if($file !== null) {
$fileName = $file->getClientOriginalName();
$file->move($destination, $fileName);
$data['featured_image'] = "{$destination}/{$fileName}";
}
$data = $request->all();
$home->update($data);
Session::flash('success','Slider is uploaded ');
return redirect('home');
}
wow!! finally i pulled it off!! tnx guys!! was simple mistake!
public function update(Request $request, $id, Home $home){
$this->validate($request, [
'title_slider' => 'required',
'description_slider' => 'required',
'button_slider' => 'required',
'button_link_slider' => 'required',
'featured_image' => 'required',
]);
$data=Home::findOrFail($id);
$data->update($request->all());
if ($request->hasFile('featured_image'))
{
$destination='uploads/HomePage/Slider';
$file = $request->file('featured_image');
$fileName=$request->file('featured_image')->getClientOriginalName();
$data->featured_image = $destination.'/'.$fileName;
$file->move($destination, $fileName);
$data->save();
}
return redirect('dashboard');
}
Please or to participate in this conversation.