| Current Path : /var/www/html/reddsis/app/Http/Controllers/Backend/ |
| Current File : /var/www/html/reddsis/app/Http/Controllers/Backend/MenuCategoryController.php |
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Controllers\Controller;
use App\Models\Backend\menu\frontend\MenuCategory;
use Illuminate\Http\Request;
class MenuCategoryController extends Controller
{
public function index(Request $request)
{
$search = $request->get('search');
$categories = MenuCategory::query()
->when($search, fn ($query) => $query->where('category_name', 'like', "%{$search}%"))
->orderBy('category_name')
->paginate(10)
->withQueryString();
return view('backend.module.menu.frontendMenuCategory.index', [
'categories' => $categories,
'search' => $search,
]);
}
public function create()
{
return view('backend.module.menu.frontendMenuCategory.create');
}
public function store(Request $request)
{
MenuCategory::create($this->validatedCategory($request) + [
'created_by' => auth('admin')->id(),
'created_at' => now()->toDateString(),
]);
flash()->success('Menu category created successfully.');
return redirect()->route('menu-category.index');
}
public function edit($id)
{
return view('backend.module.menu.frontendMenuCategory.edit', [
'category' => MenuCategory::findOrFail($id),
]);
}
public function update(Request $request, $id)
{
MenuCategory::findOrFail($id)->update($this->validatedCategory($request) + [
'updated_by' => auth('admin')->id(),
'updated_at' => now()->toDateString(),
]);
flash()->success('Menu category updated successfully.');
return redirect()->route('menu-category.index');
}
public function destroy($id)
{
MenuCategory::findOrFail($id)->delete();
flash()->success('Menu category deleted successfully.');
return redirect()->route('menu-category.index');
}
private function validatedCategory(Request $request): array
{
return $request->validate([
'category_name' => ['nullable', 'string', 'max:255'],
'category_description' => ['nullable', 'string', 'max:255'],
'category_status' => ['nullable', 'boolean'],
]) + ['category_status' => $request->boolean('category_status', true)];
}
}