관리-도구
편집 파일: ServiceController.php
<?php namespace App\Http\Controllers; use App\Models\Service; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class ServiceController extends Controller { public function index() { $services = Service::latest()->get(); return view('admin.services', compact('services')); } public function store(Request $request) { $request->validate([ 'title' => 'required|string|max:150', 'description' => 'required|string', 'image' => 'required|image|mimes:jpeg,png,jpg,webp' ]); $imagePath = $request->file('image')->store('services', 'public'); Service::create([ 'title' => $request->title, 'description' => $request->description, 'image' => $imagePath, ]); return redirect()->back()->with('success', 'Service added successfully'); } public function update(Request $request, $id) { $service = Service::findOrFail($id); $request->validate([ 'title' => 'required|string|max:150', 'description' => 'required|string', 'image' => 'nullable|image|mimes:jpeg,png,jpg,webp' ]); if ($request->hasFile('image')) { if ($service->image) { Storage::disk('public')->delete($service->image); } $service->image = $request->file('image')->store('services', 'public'); } $service->title = $request->title; $service->description = $request->description; $service->save(); return redirect()->back()->with('success', 'Service updated successfully'); } public function destroy($id) { $service = Service::findOrFail($id); if ($service->image) { Storage::disk('public')->delete($service->image); } $service->delete(); return redirect()->back()->with('success', 'Service deleted successfully'); } }