How can I Limit this to store only one product? My only problem is when I click the button of this multiple times it stores numerous data that is duplicated.
public function StoreProduct(Request $request)
{
$image = $request->file('product_thambnail');
$name_gen = hexdec(uniqid()) . '.' . $image->getClientOriginalExtension();
Image::make($image)->resize(917, 1000)->save('upload/products/thambnail/' . $name_gen);
$save_url = 'upload/products/thambnail/' . $name_gen;
$product_id = Product::insertGetId([
'brand_id' => $request->brand_id,
'category_id' => $request->category_id,
'subcategory_id' => $request->subcategory_id,
'subsubcategory_id' => $request->subsubcategory_id,
'product_name_en' => $request->product_name_en,
'product_name_hin' => $request->product_name_hin,
'product_slug_en' => strtolower(str_replace(' ', '-', $request->product_name_en)),
'product_slug_hin' => str_replace(' ', '-', $request->product_name_hin),
'product_code' => $request->product_code,
'product_qty' => $request->product_qty,
'product_tags_en' => $request->product_tags_en,
'product_tags_hin' => $request->product_tags_hin,
'product_size_en' => $request->product_size_en,
'product_size_hin' => $request->product_size_hin,
'product_color_en' => $request->product_color_en,
'product_color_hin' => $request->product_color_hin,
'selling_price' => $request->selling_price,
'discount_price' => $request->discount_price,
'embed_map' => $request->embed_map,
'short_descp_en' => $request->short_descp_en,
'short_descp_hin' => $request->short_descp_hin,
'long_descp_en' => $request->long_descp_en,
'long_descp_hin' => $request->long_descp_hin,
'hot_deals' => $request->hot_deals,
'featured' => $request->featured,
'special_offer' => $request->special_offer,
'special_deals' => $request->special_deals,
'product_thambnail' => $save_url,
'status' => 1,
'created_at' => Carbon::now(),
'admin_stored' => Auth::user()->name,
]);
////////// Multiple Image Upload Start ///////////
$images = $request->file('multi_img');
foreach ($images as $img) {
$make_name = hexdec(uniqid()) . '.' . $img->getClientOriginalExtension();
Image::make($img)->resize(917, 1000)->save('upload/products/multi-image/' . $make_name);
$uploadPath = 'upload/products/multi-image/' . $make_name;
MultiImg::insert([
'product_id' => $product_id,
'photo_name' => $uploadPath,
'created_at' => Carbon::now(),
]);
}