Skip to content

Commit c062ae5

Browse files
committed
Refactor update method in CategoryController to streamline category updates
This commit simplifies the update method in the CategoryController by removing unnecessary validation and restructuring the image upload process. It ensures that category names and gender associations are updated correctly while improving the handling of profile images. The method now returns the request data instead of a success message, enhancing the response format for API consumers.
1 parent 561707f commit c062ae5

File tree

1 file changed

+9
-28
lines changed

1 file changed

+9
-28
lines changed

app/Http/Controllers/Admin/CategoryController.php

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,7 @@ public function getCategory($id){
3434
}
3535
public function update(Request $request, $id)
3636
{
37-
$request->validate([
38-
'category_name' => 'required|string|max:255',
39-
'gender_id' => 'required|integer|exists:genders,id',
40-
'parent_id' => 'nullable|integer|exists:categories,id',
41-
'category_profile' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048'
42-
]);
37+
4338

4439
try {
4540
DB::beginTransaction();
@@ -48,39 +43,25 @@ public function update(Request $request, $id)
4843

4944
// Mettre à jour les données de base
5045
$category->category_name = $request->category_name;
51-
$category->parent_id = $request->parent_id;
52-
46+
$category->parent_id = intval($request->parent_id);
47+
$category->category_url = Str::slug($request->category_name);
5348
// Gérer l'image de profil
54-
if ($request->hasFile('category_profile')) {
55-
// Supprimer l'ancienne image si elle existe
56-
if ($category->category_profile) {
57-
Storage::disk('public')->delete($category->category_profile);
58-
}
59-
60-
// Stocker la nouvelle image
61-
$image = $request->file('category_profile');
62-
$imageName = time() . '_' . Str::slug($request->category_name) . '.' . $image->getClientOriginalExtension();
63-
$imagePath = $image->store('categories/profile', $imageName, 'public');
64-
$category->category_profile = $imagePath;
49+
if($request->category_profile){
50+
$file=$request->file('category_profile');
51+
$category->category_profile = $file->store('categories/profile', 'public');
6552
}
6653

6754
// Générer l'URL de la catégorie si elle n'existe pas
68-
if (!$category->category_url) {
69-
$category->category_url = Str::slug($request->category_name);
70-
}
55+
7156

7257
$category->save();
7358

7459
// Mettre à jour la relation avec le genre
75-
$category->genders()->sync([$request->gender_id]);
60+
$category->genders()->sync([intval($request->gender_id)]);
7661

7762
DB::commit();
7863

79-
return response()->json([
80-
'success' => true,
81-
'message' => 'Catégorie mise à jour avec succès',
82-
'data' => $category->load('genders', 'parent')
83-
], 200);
64+
return $request->all();
8465

8566
} catch (Exception $e) {
8667
DB::rollBack();

0 commit comments

Comments
 (0)