Level 55
@soo you get file from request, but do not store it. So, this
'job_photo_path' => request('job_photo_path'),
you'll end up with the null or empty string
You asked about storing files yesterday. Use the same logic here
1 like
Hello friends, I have a form edit contain an upload file. After the update the image don't showing.Any help this is the code controller:
public function edit($id)
{
$jobOffer = JobOffer::where('id', $id)->first();
return view('jobOffer.edit' , compact('jobOffer'));
}
public function update($id)
{
request()->validate([
'name' => 'required|string|max:40',
'description' => 'required',
'job_photo_path' => 'required'
]);
$jobOffers = JobOffer::where('id',$id)->update([
'name' => request('name'),
'description' => request('description'),
'job_photo_path' => request('job_photo_path'),
]);
return redirect('/jobOffer')->with('success', 'Your Job Offer has been update successfully!');
}
Hi @soo , Welcome Again,
You can Edit Your code for uploading file ---
public function edit($id)
{
$jobOffer = JobOffer::where('id', $id)->first();
return view('jobOffer.edit' , compact('jobOffer'));
}
public function update($id)
{
request()->validate([
'name' => 'required|string|max:40',
'description' => 'required',
'job_photo_path' => 'required|image' #supported files are (jpg, jpeg, png, bmp, gif, svg, or webp)
]);
# code for uploading file
$fileName = time() . '.' . $request->job_photo_path->extension();
$request->job_photo_path->move(public_path('job-photos'), $fileName);
$url = asset('/job-photos/' . $fileName); #this provide full path with image name
$jobOffers = JobOffer::where('id',$id)->update([
'name' => request('name'),
'description' => request('description'),
'job_photo_path' => $url,
]);
return redirect('/jobOffer')->with('success', 'Your Job Offer has been update successfully!');
}
Most important that you add enctype="multipart/form-data" in your form element.
Hope its help you. Thank you
Please or to participate in this conversation.