관리-도구
편집 파일: ClientController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use App\Models\Client; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; class ClientController extends Controller { // Display all clients public function index() { $clients = Client::all(); return view('admin.client', compact('clients')); } // Store a new client image public function store(Request $request) { try { $validateData = $request->validate([ 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg' ]); $client = new Client(); // Upload image if ($request->hasFile('image')) { $imagePath = $request->file('image')->store('clients', 'public'); $client->image = $imagePath; } $client->save(); return redirect()->route('admin-client.index')->with('success', 'Client added successfully'); } catch (\Exception $e) { Log::error('Client Store Error: ' . $e->getMessage()); return redirect()->back()->with('error', 'Something went wrong while adding client'); } } // Update existing client image public function update(Request $request, $id) { try { $client = Client::findOrFail($id); $validateData = $request->validate([ 'image' => 'nullable|image|mimes:jpeg,png,jpg,gif,svg' ]); // Update image if ($request->hasFile('image')) { // Delete old image if ($client->image && Storage::disk('public')->exists($client->image)) { Storage::disk('public')->delete($client->image); } $imagePath = $request->file('image')->store('clients', 'public'); $client->image = $imagePath; } $client->save(); return redirect()->route('admin-client.index')->with('success', 'Client updated successfully'); } catch (\Exception $e) { Log::error('Client Update Error: ' . $e->getMessage()); return redirect()->back()->with('error', 'Something went wrong while updating client'); } } // Delete client & remove image public function destroy($id) { try { $client = Client::findOrFail($id); if ($client->image && Storage::disk('public')->exists($client->image)) { Storage::disk('public')->delete($client->image); } $client->delete(); return redirect()->route('admin-client.index')->with('success', 'Client deleted successfully'); } catch (\Exception $e) { Log::error('Client Delete Error: ' . $e->getMessage()); return redirect()->back()->with('error', 'Something went wrong while deleting client'); } } }