Skip to content

Instantly share code, notes, and snippets.

@MaheKarim
Created February 28, 2020 20:00
Show Gist options
  • Save MaheKarim/1380959c5e605c97503297f452d23d76 to your computer and use it in GitHub Desktop.
Save MaheKarim/1380959c5e605c97503297f452d23d76 to your computer and use it in GitHub Desktop.
public function update(Request $request)
{
$products = Product::findOrfail($request)->first();
$products->product_name = $request->product_name;
$products->description = $request->description;
$products->total_rate = $request->total_rate;
$products->package_rate = $request->package_rate;
$products->product_slug = $request->product_slug;
$products->package_image = $request->package_image;
$products->save();
if($request->has('package_image')){
$image = $request->file('package_image')->store('package_images');
$lastInsertedId = Product::insertGetId([
"product_name" => $request->product_name,
"product_slug" => $request->product_slug,
"description" => $request->description,
"total_rate" => $request->total_rate,
"package_rate" => $request->package_rate,
"package_image" => $request->package_image,
]);
//get filename with extension
$fileNameWithExtension = $request->file('package_image')->getClientOriginalName();
//get filename without extension
$fileName = pathinfo($fileNameWithExtension, PATHINFO_FILENAME);
//get file extension
$extension = $request->file('package_image')->getClientOriginalExtension();
//filename to store
$fileNameToStore = str_replace(' ', '-', $fileName).'-'.time().'.'.$extension;
//Upload File
$imagePath = $request->file('package_image')->storeAs("package_image", $fileNameToStore);
// $thumbnailPathSmall = $request->file('package_image')->storeAs("package_images/thumbnailSmall", $fileNameToStore);
$thumbnailPathMedium = $request->file('package_image')->storeAs("package_images/thumbnailMedium", $fileNameToStore);
//Resize image here
//Thumbnail Medium
$thubmnailRealPathMedium = public_path("/storage/$thumbnailPathMedium");
$thumbnailMedium = Image::make($thubmnailRealPathMedium)->resize(360, 239, function($constraint) {
$constraint->aspectRatio();
});
$thumbnailMedium->save($thubmnailRealPathMedium);
// New Codes for resize & store images Ends
Product::find($lastInsertedId)->update([
"package_image" => $imagePath,
"thumbnail_medium" => $thumbnailPathMedium,
]);
}
session()->flash('success','Successfully Updated!');
return redirect(route('showProduct'));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment