lh 1 day ago
parent
commit
5a5aa770b4
1 changed files with 14 additions and 10 deletions
  1. 14 10
      app/Services/Timbre/TimbreService.php

+ 14 - 10
app/Services/Timbre/TimbreService.php

@@ -41,6 +41,7 @@ class TimbreService
             'created_at' => date('Y-m-d H:i:s'),
             'updated_at' => date('Y-m-d H:i:s'),
         ]);
+        if (!$category_id) Utils::throwError('20003:添加失败');
         return [
             'category_id'       => $category_id,
             'category_name'     => $category_name,
@@ -140,16 +141,19 @@ class TimbreService
             return Utils::throwError('20003:该音色不存在');
         }
 
-        return DB::table('mp_timbres')->where('id', $timbre_id)->update([
-            'first_category_id'     => getProp($data, 'first_category_id'),
-            'first_category_name'   => getProp($data, 'first_category_name'),
-            'second_category_id'    => getProp($data, 'second_category_id'),
-            'second_category_name'  => getProp($data, 'second_category_name'),
-            'third_category_id'     => getProp($data, 'third_category_id'),
-            'third_category_name'   => getProp($data, 'third_category_name'),
-            'label'                 => getProp($data, 'label'),
-            'updated_at'            => date('Y-m-d H:i:s'),
-        ]);
+        $update_data = [
+            'updated_at'    => date('Y-m-d H:i:s'),
+        ];
+
+        if (getProp($data, 'first_category_id')) $update_data['first_category_id'] = getProp($data, 'first_category_id');
+        if (getProp($data, 'first_category_name')) $update_data['first_category_name'] = getProp($data, 'first_category_name');
+        if (getProp($data, 'second_category_id')) $update_data['second_category_id'] = getProp($data, 'second_category_id');
+        if (getProp($data, 'second_category_name')) $update_data['second_category_name'] = getProp($data, 'second_category_name');
+        if (getProp($data, 'third_category_id')) $update_data['third_category_id'] = getProp($data, 'third_category_id');
+        if (getProp($data, 'third_category_name')) $update_data['third_category_name'] = getProp($data, 'third_category_name');
+        if (getProp($data, 'label')) $update_data['label'] = getProp($data, 'label');
+
+        return DB::table('mp_timbres')->where('id', $timbre_id)->update($update_data);
     }
 
     public function getAllBooks($data) {