label; $slug = $request->slug; if (empty($slug)) { $slug = Str::slug($label); } $commentaire = $request->commentaire; $request->validate([ 'label' => 'required|string|max:255', 'slug' => 'sometimes|unique:sliders', ]); $slider = new Slider(); $slider->label = $label; $slider->slug = $slug; $slider->commentaire = $commentaire; $slider->save(); return redirect()->route('bo.sliders.edit', $slider->id)->with('success', 'Slider créé !'); } /** * Display the specified resource. * * @param integer $id * @return \Illuminate\Http\Response */ public function show($id) { } /** * Show the form for editing the specified resource. * * @param integer $id * @return \Illuminate\Http\Response */ public function edit($id) { $slider = Slider::findOrFail($id); return view('bo.sliders.edit', compact('slider')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param integer $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $slider = Slider::findOrFail($id); $label = $request->label; $slug = $request->slug; $commentaire = $request->commentaire; $request->validate([ 'label' => 'required|string|max:255', 'slug' => 'required|unique:sliders,slug,' . $slider->id, ]); $slider->label = $label; $slider->slug = $slug; $slider->commentaire = $commentaire; $slider->save(); return redirect()->route('bo.sliders.edit', $slider->id)->with('success', 'Modifications enregistrées !'); } /** * Remove the specified resource from storage. * * @param integer $id * @return \Illuminate\Http\Response */ public function destroy($id) { $slider = Slider::findOrFail($id); $count = Slider::count(); if ($count === 1) { return redirect()->back()->withErrors("Suppression impossible : Vous devez conserver au moins 1 Slider"); } // @todo : controller les slides liés $slider->delete(); return redirect()->route('bo.sliders.index'); } }