I’m making an e-commerce store in Laravel 11. it has categories you can add or edit the name of the categories. when i try to edit and then press update on the category name it gives me 404 not found error. I’m using xampp
routes
Route::controller(CategoryController::class)->group(function(){
Route::get('/admin/all-category', 'index')->name('allcategory');
Route::get('/admin/add-category', 'ADDcategory')->name('addcategory');
Route::post('/admin/store-category', 'StoreCategory')->name('storecategory');
Route::get('/admin/edit-category/{id}','EditCategory')->name('editcategory');
Route::post('/admin/update-category/','UpdateCategory')->name('updatecategory');
});
controller
public function EditCategory($id){
$category_info = Category::findOrFail($id);
return view('admin.editcategory', compact('category_info'));
}
public function UpdateCategory(Request $request){
$category_id = $request->category_id;
$request->validate([
'category_name' => 'required|unique:categories'
]);
Category::findOrFail($category_id)->update([
'category_name' => $request->category_name,
'slug' => strtolower(str_replace(' ', '-', $request->category_name))
]);
return redirect()->route('allcategory')->with('message', 'category updated successfully!');
}
}
blade php
<form action="{{ route('updatecategory') }}" method="POST">
@csrf
<input type="hidden" value="{{ $category_info->id }}" name="category_id>"
<div class="row mb-3">
<label class="col-sm-2 col-form-label" for="basic-default-name">Category Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="category_name" name="category_name"
name="category_name" value="{{ $category_info->category_name }}" />
</div>
</div>
i tried searching online , but didn’t get any
New contributor
rahi ahmed is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
0