validate([ // 'name' => 'required', // 'price' => 'required', // 'description' => 'required', // 'image' => 'required|image|mimes:jpeg,png,jpg,gif, // svg|max:2048', // 'quantity' => 'required', // ]); // if (request()->hasFile('file')) { // $file = request()->file('file'); // $fileName = $file->getClientOriginalName(); // $file->move('uploads/products/', $fileName); // request()->merge([ // 'picture' => $fileName, // ]); // } // Product::create(request()->all()); // // $product = new Product(); // // $product->name = $data->input('name'); // // $product->picture = $data->file('file')->getClientOriginalName(); // // $data->file('file')->move('uploads/products/', $product->picture); // // $product->description = $data->input('description'); // // $product->price = $data->input('price'); // // $product->quantity = $data->input('quantity'); // // $product->category = $data->input('category'); // // $product->type = $data->input('type'); // // $abc = $product->save(); // // dd($abc); // return redirect()->back()->with('success', 'Product Added Successfully'); // // return view('Dashboard.addNewProduct'); // } //mass assignment for adding new product public function addNewProduct(Request $request) { $validated = $request->validate([ 'name' => 'required', 'price' => 'required|numeric', 'description' => 'required', 'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 'quantity' => 'required|numeric', 'category' => 'required', 'type' => 'required', ]); if ($request->hasFile('file')) { $file = $request->file('file'); $fileName = time() . '_' . $file->getClientOriginalName(); $file->move(public_path('uploads/products'), $fileName); $validated['picture'] = $fileName; } Product::create($validated); return redirect()->back()->with('success', 'Product Added Successfully'); } //normal assignment for update // public function updateProduct(Request $request) // { // $validated = $request->validate([ // 'name' => 'required', // 'price' => 'required|numeric', // 'description' => 'required', // 'file' => 'image|mimes:jpeg,png,jpg,gif,svg|max // :2048', // 'quantity' => 'required|numeric', // 'category' => 'required', // 'type' => 'required', // ]); // if ($request->hasFile('file')) { // $file = $request->file('file'); // $fileName = time() . '_' . $file->getClientOriginalName(); // $file->move(public_path('uploads/products'), $fileName); // $validated['picture'] = $fileName; // } // $product = Product::find($request->id); // $product->name = $validated['name']; // $product->price = $validated['price']; // $product->description = $validated['description']; // $product->quantity = $validated['quantity']; // $product->category = $validated['category']; // $product->type = $validated['type']; // $product->save(); // return redirect()->back()->with('success', 'Product Updated Successfully'); // } //mass assignment for update public function updateProduct(Request $request) { $validated = $request->validate([ 'name' => 'required', 'price' => 'required|numeric', 'description' => 'required', 'quantity' => 'required|numeric', 'category' => 'required', 'type' => 'required', 'file' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); $product = Product::find($request->input('id')); if ($request->hasFile('file')) { $file = $request->file('file'); $fileName = time() . '_' . $file->getClientOriginalName(); $file->move(public_path('uploads/products'), $fileName); $validated['picture'] = $fileName; } $product->update($validated); return redirect()->back()->with('success', 'Product Updated Successfully'); } public function deleteProduct($id) { $product = Product::find($id); $product->delete(); return redirect()->back()->with('success', 'Product Deleted Successfully'); } }