zione8036's avatar

Limit a insert data into 1 whenever its click.

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(),

			]);
		}
0 likes
2 replies

Please or to participate in this conversation.