File: /home/marketing.cfbon.ru/public_html/app/Http/Controllers/Site/Menu/CategoryController.php
<?php
namespace App\Http\Controllers\Site\Menu;
use App\Http\Controllers\Controller;
use App\Http\Requests\Site\Menu\CategoryRequest;
use App\Models\ProductCategory;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
class CategoryController extends Controller
{
public function index() : View
{
$categories = ProductCategory::all();
return view('site.menu.categories.index', compact('categories'));
}
public function create() : View
{
return view('site.menu.categories.create');
}
public function store(CategoryRequest $request): RedirectResponse
{
ProductCategory::create([
'name' => $request->input('name'),
'display_order' => $request->input('display_order'),
]);
return redirect()->route('site.menu.categories.index')->with('success', 'Категория успешно добавлена');
}
public function edit(string $id) : View
{
$category = ProductCategory::findOrFail($id);
return view('site.menu.categories.edit', compact('category'));
}
public function update(CategoryRequest $request, string $id) : RedirectResponse
{
$category = ProductCategory::findOrFail($id);
$category->update($request->validated());
return redirect()->back()->with('success', 'Категория успешно изменена');
}
public function destroy(string $id) : RedirectResponse
{
$category = ProductCategory::findOrFail($id);
$category->delete();
return redirect()->route('site.menu.categories.index')->with('success', 'Категория успешно удалена');
}
}