whereIn('location', $deleteLocation)->delete(); unset($row); $goods = Goods::query() ->with(['skus:id,goods_id,sku_code']) ->whereIn('goods_code', $goodsCode) ->get(['id', 'goods_code']); $goodsSkus = []; foreach ($goods as $goodsItem) { $goodsSkus[$goodsItem['goods_code']][$goodsItem->skus->sku_code] = [ 'goods_id' => $goodsItem->id, 'goods_sku_id' => $goodsItem->skus->id, 'external_sku_id' => $goodsItem['goods_code'] . '_' . $goodsItem->skus->sku_code, ]; } $data = []; foreach ($array as $row) { if (isset($goodsSkus[$row[2]][$row[4]])) { $data[] = array_merge($goodsSkus[$row[2]][$row[4]], [ 'date' => date('Y-m-d'), 'today_init_num' => $row[1], 'location' => $row[5], ]); } } $model = new GoodsSkuLocation(); $model->batchInsert($data); } }