Untitled
unknown
plain_text
a month ago
2.4 kB
3
Indexable
<?php namespace App\Http\Controllers; use App\Models\Category; use Illuminate\Http\Request; use Illuminate\Support\Facades\Storage; class CategoryController extends Controller { public function index() { $categories = Category::all(); return view('categories.index', compact('categories')); } public function create() { return view('categories.create'); } public function store(Request $request) { $request->validate([ 'name' => 'required|string|max:255', 'image' => 'nullable|image|mimes:jpg,jpeg,png', 'description' => 'nullable|string', ]); $imagePath = null; if ($request->hasFile('image')) { $imagePath = $request->file('image')->store('categories', 'public'); } Category::create([ 'name' => $request->name, 'image' => $imagePath, 'description' => $request->description, ]); return redirect()->route('categories.index')->with('success', 'Danh mục đã được tạo!'); } public function edit(Category $category) { return view('categories.edit', compact('category')); } public function update(Request $request, Category $category) { $request->validate([ 'name' => 'required|string|max:255', 'image' => 'nullable|image|mimes:jpg,jpeg,png', 'description' => 'nullable|string', ]); if ($request->hasFile('image')) { if ($category->image) { Storage::disk('public')->delete($category->image); } $imagePath = $request->file('image')->store('categories', 'public'); } else { $imagePath = $category->image; } $category->update([ 'name' => $request->name, 'image' => $imagePath, 'description' => $request->description, ]); return redirect()->route('categories.index')->with('success', 'Danh mục đã được cập nhật!'); } public function destroy(Category $category) { if ($category->image) { Storage::disk('public')->delete($category->image); } $category->delete(); return redirect()->route('categories.index')->with('success', 'Danh mục đã được xóa!'); } }
Editor is loading...
Leave a Comment