product_id); $discType = $request->discount_type_id; $value = $request->discount_value; $date_start = $request->date_start_date . " " . $request->date_start_time; $date_end = $request->date_end_date . " " . $request->date_end_time; $request->validate([]); $promotion = new Promotion(); $promotion->discount_type_id = $discType; $promotion->discount_value = $value; $promotion->date_start = $date_start; $promotion->date_end = $date_end; $promotion->save(); //prise en charge de la liaison avec les produits $promotion->products()->sync($productIds); return redirect()->route('bo.promotions.index'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $promotion = Promotion::findOrFail($id); $discTypes = DiscountType::all(); return view('bo.promotions.edit', compact('promotion', 'discTypes')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $promotion = Promotion::findOrFail($id); $productIds = explode(",", $request->product_id); $discType = $request->discount_type_id; $value = $request->discount_value; $date_start = $request->date_start_date . " " . $request->date_start_time; $date_end = $request->date_end_date . " " . $request->date_end_time; $request->validate([]); $promotion->discount_type_id = $discType; $promotion->discount_value = $value; $promotion->date_start = $date_start; $promotion->date_end = $date_end; $promotion->save(); //prise en charge de la liaison avec les produits $promotion->products()->sync($productIds); return redirect()->route('bo.promotions.edit', $promotion->id)->with('success', 'Modifications enregistrés !'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $p = Promotion::findOrFail($id); //prise en charge de la liaison avec les produits $p->products()->detach(); $p->delete(); return redirect()->route('bo.promotions.index'); } }