관리-도구
편집 파일: OffersController.php
<?php namespace App\Http\Controllers; use App\Models\Offer; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; class OffersController extends Controller { public function index() { $services = Offer::orderBy('id', 'desc')->get(); return view('admin.offers', compact('services')); } public function store(Request $request) { try { $validateData = $request->validate([ 'service' => 'required|string', 'description' => 'required|string', ]); // create a new service instance and assign validate data $service = new Offer(); $service->title = $validateData['service']; $service->description = $validateData['description']; $service->save(); return redirect()->route('admin-offers.index')->with('success', 'New service added'); } catch (\Exception $e) { Log::error("Add service error: " . $e->getMessage()); return redirect()->back()->withErrors(['error' => 'An error occurred']); } } public function update(Request $request, $id) { try { $service = Offer::findOrFail($id); // Validate data $validateData = $request->validate([ 'service' => 'required|string|max:255', 'description' => 'required|string', ]); $service->title = $validateData['service']; $service->description = $validateData['description']; $service->save(); return redirect()->route('admin-offers.index')->with('message', 'Service updated successfully'); } catch (\Exception $e) { Log::error('An error occurred while updating:', [ 'error message' => $e->getMessage(), 'error file' => $e->getFile(), 'error line' => $e->getLine(), ]); return redirect()->back()->with('error', 'An error occurred'); } } public function destroy($id) { $service = Offer::findOrFail($id); $service->delete(); return redirect()->route('admin-offers.index')->with('Service deleted successfully'); } }