AnikKantiSikder's avatar

I've been working on a personal project where I've to add multiple images, colors, sizes. So, when I try to upload data, it isn't uploading. Instead of it gives me this error: ErrorException- Array to string conversion

//Store product public function store(Request $request){

	DB::transaction(function() use($request){

		$this->validate($request,[
		'name' => 'required|unique:products,name',
		'color_id'=> 'required',
		'size_id'=> 'required',
		'category_id'=> 'required',
		'brand_id'=> 'required'
	]);

	$product= new Product();

	$product->name= $request->name;
	$product->category_id= $request->category_id;
	$product->brand_id= $request->brand_id;
	$product->color_id= $request->color_id;
	$product->size_id= $request->size_id;
	$product->short_desc= $request->short_desc;
	$product->long_desc= $request->long_desc;
	$product->price= $request->price;
	$img= $request->file('image');

	if($img) {
		$imgName= date('YmdHi').$img->getClientOriginalName();
		$img->move('public/Upload/Product_images/',$imgName);
		$product['image']= $imgName;
	}

	if($product->save()){

//Sub image insert------------------------------------------------------------------------- $files= $request->sub_image;

		if(!empty($files)){
			foreach ($files as $file) {

				$imgName= date('YmdHi').$file->getClientOriginalName();
				$file->move('public/Upload/Product_images/Product_sub_images', $imgName);
				$subImage['sub_image']= $imgName;

				$subImage= new ProductSubImage();
				$subImage->product_id= $product->id;
				$subImage->sub_image= $imgName;
				$subImage->save();
			}
		}

//Multiple color insert------------------------------------------------------------------------- $colors= $request->color_id;

		if (!empty($colors)) {
			foreach ($colors as $color) {

				$myColor= new ProductColor();
				$myColor->product_id= $product->id;
				$myColor->color_id= $color;
				$myColor->save();
			}
		}

//Multiple size insert------------------------------------------------------------------------- $sizes= $request->size_id;

		if (!empty($sizes)) {
		    foreach ($sizes as $size) {
		    	
		    	$mySize= new ProductSize();
		    	$mySize->product_id= $product->id;
		    	$mySize->size_id= $size;
		    	$mySize->save();
		    }
		}  		

	}else{
		return redirect()->back()->with('error', 'sorry! Data not uploaded');
	}

	});
	

	return redirect()->route('products.view')->with('success','Data added successfully');

//Function ends here }

0 likes
1 reply

Please or to participate in this conversation.