validate([ 'name' => 'required|string|max:255', 'address' => 'required|string|max:255', 'postcode' => 'required', 'city' => 'required|string|max:255', ]); $shop = Magasin::create($request->except('_token')); return redirect()->route('bo.magasins.edit', $shop->id)->with('success', 'Nouveau Magasin enregistré !'); } /** * 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) { $magasin = Magasin::findOrFail($id); return view('bo.magasins.edit', compact('magasin')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $request->validate([ 'name' => 'required|string|max:255', 'address' => 'required|string|max:255', 'postcode' => 'required', 'city' => 'required|string|max:255', ]); $shop = Magasin::findOrFail($id); $shop->fill($request->except('_token'))->save(); return redirect()->route('bo.magasins.edit', $shop->id)->with('success', 'Modifications enregistrés !'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $shop = Magasin::findOrFail($id); $count = Magasin::count(); if ($count === 1) { return redirect()->back()->withErrors("Suppression impossible : Vous devez conserver au moins 1 point de retrait."); } // @todo : controller les crenaux settings liés $shop->delete(); return redirect()->route('bo.magasins.index'); } }