$cardId, 'is_except' => $isExcept]); if (!empty($data)) { // 添加 $dataset = []; foreach ($data as $item) { // 商品信息 $goodsInfo = Goods::detail($item['goods_id'], ['images' => ['file'], 'skuList' => ['image']]); if (empty($goodsInfo)) { $this->error = "商品信息错误"; return false; } $goodsInfo['goods_images'] = helper::getArrayColumn($goodsInfo['images'], 'file'); // 商品主图 $goodsInfo['goods_image'] = current($goodsInfo['goods_images'])['preview_url']; $goodsInfo['image_id'] = current($goodsInfo['goods_images'])['file_id']; $goodsSku = GoodsSku::detail($item['goods_id'], $item['goods_sku_id']); if (empty($goodsSku)) { $this->error = "商品信息错误"; return false; } $dataset[] = [ 'card_id' => $cardId, 'goods_id' => $item['goods_id'], 'goods_sku_id' => $item['goods_sku_id'], 'goods_num' => $item['goods_num'] ?? 1, 'is_except' => $isExcept, 'goods_sku_no' => $goodsSku['goods_sku_no'], 'image_id' => $goodsInfo['image_id'], 'goods_name' => $goodsInfo['goods_name'], 'goods_props' => $goodsSku['goods_props'], 'goods_price' => $goodsSku['goods_price'] ?? '0.00', 'total_price' => helper::bcsub($goodsSku['goods_price'] * ($item['goods_num'] ?? 1), 0, 2), ]; } (new static)->addAll($dataset); } } }