$data['name'], 'remake' => $data['remake'], 'price_method' => $data['price_method'], 'default_free_price' => $data['default_free_price'], 'default_price' => $data['default_price'], 'default_fastandard_price' => $data['default_fastandard_price'], 'updated_time' => $nowTime ]; }else{ $express_delivery = [ 'name' => $data['name'], 'remake' => $data['remake'], 'price_method' => $data['price_method'], 'default_pieces' => $data['default_pieces'], 'default_price' => $data['default_price'], 'add_pieces' => $data['add_pieces'], 'add_price' => $data['add_price'], 'updated_time' => $nowTime ]; } Db::startTrans(); try { $express_shipping_method = []; //地区item $delivery = isset($data['id']) ? $data['id'] : 0; $msg = $delivery ? '保存' : '添加'; if (!empty($data['id'])) { $express_delivery['id'] = $data['id']; Db::name('express_delivery')->strict(false)->save($express_delivery); Db::name('express_shipping_method')->where(['template_id' => $delivery])->delete(); } else { $delivery = Db::name('express_delivery')->strict(false)->insertGetId($express_delivery); } if ($data['express_area']) { foreach ($data['express_area']['area_ids'] as $k => $v) { $express_shipping_method[$k]['fast_address_ids'] = $v; $express_shipping_method[$k]['address_items_ids'] = implode(',', Db::name('area')->where(['pid' => $v])->column('id')); } foreach ($data['express_area']['area_text'] as $k => $v) { $express_shipping_method[$k]['fast_address'] = $v; } if($data['price_method'] == 1){ foreach ($data['express_area']['free_price'] as $k => $v) { $express_shipping_method[$k]['free_price'] = $v; } foreach ($data['express_area']['price'] as $k => $v) { $express_shipping_method[$k]['price'] = $v; } foreach ($data['express_area']['fastandard_price'] as $k => $v) { $express_shipping_method[$k]['fastandard_price'] = $v; } foreach ($express_shipping_method as $k => &$v) { $v['template_id'] = $delivery; } }else{ foreach ($data['express_area']['pieces'] as $k => $v) { $express_shipping_method[$k]['pieces'] = $v; } foreach ($data['express_area']['price'] as $k => $v) { $express_shipping_method[$k]['price'] = $v; } foreach ($data['express_area']['add_pieces'] as $k => $v) { $express_shipping_method[$k]['add_pieces'] = $v; } foreach ($data['express_area']['add_price'] as $k => $v) { $express_shipping_method[$k]['add_price'] = $v; } foreach ($express_shipping_method as $k => &$v) { $v['template_id'] = $delivery; } } Db::name('express_shipping_method')->insertAll($express_shipping_method); } Db::commit(); return json(['code' => 1, 'msg' => $msg . '成功']); } catch (\Exception $e) { Db::rollback(); return json(['code' => 0, 'msg' => $msg . '失败' . $e->getMessage()]); } } }