whereIn('location', $deleteLocation)->delete(); unset($row); $goods = Goods::query() ->whereIn('goods_code', $goodsCode) ->get(['id', 'goods_code', 'title']); $goodsSkus = []; foreach ($goods as $goodsItem) { foreach ($goodsItem->skus as $sku){ $goodsSkus[$goodsItem['goods_code']][$sku->sku_code] = [ 'goods_id' => $goodsItem->id, 'goods_sku_id' => $sku->id, 'external_sku_id' => $goodsItem['goods_code'] . '_' . $sku->sku_code, 'goods_name' => $goodsItem['title'] . '_' . $sku->title, ]; } } $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); } }