Untitled
unknown
plain_text
7 months ago
2.4 kB
5
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