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