Files
finance_app/app/Http/Controllers/CategoryController.php
2026-03-09 01:00:49 +08:00

49 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Category;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Http\Request;
class CategoryController extends Controller
{
use AuthorizesRequests;
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:255',
'color' => 'nullable|string|max:7',
'icon' => 'nullable|string|max:50',
]);
Category::create([
...$validated,
'user_id' => auth()->id(),
]);
return redirect()->back();
}
public function update(Request $request, Category $category)
{
$this->authorize('update', $category);
$validated = $request->validate([
'name' => 'required|string|max:255',
'color' => 'nullable|string|max:7',
]);
$category->update($validated);
return redirect()->back();
}
public function destroy(Category $category)
{
$this->authorize('delete', $category);
$category->delete();
return redirect()->back();
}
}