delete(); } public static function saveProductImages($productId, $imageUrls) { if (empty($productId) || empty($imageUrl)) { return false; } // 准备数据集合 $data = []; foreach ($imageUrls as $imageUrl) { $data[] = [ 'product_id' => $productId, 'image_url' => $imageUrl, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now(), ]; } // 批量插入 return Model::insert($data); } //格式化数据,用于多图上传 public static function formatData($productId, $images) { $existingImages = Model::where('product_id', $productId)->get(); // 用于存储结果的数组 $result = []; // 处理条件1:如果数据在 base_product_image 中有,但在 $images 上无 foreach ($existingImages as $existingImage) { if (!in_array($existingImage->image_url, $images)) { $result[] = [ 'id' => $existingImage->id, 'image_url' => $existingImage->image_url, '_remove_' => 1, ]; } } // 处理条件2:如果数据在 base_product_image 中无,但在 $images 有 $i = 1; foreach ($images as $image) { $found = $existingImages->firstWhere('image_url', $image); if (!$found) { $result[] = [ 'id' => 0, 'image_url' => $image, 'order' => $i, ]; } //更新库中排序 foreach ($existingImages as $existingImage) { if ($existingImage->image_url == $image) { $existingImage->order = $i; $existingImage->save(); } } $i++; } return $result; } }