gift_sku_id = $gift['gift_sku_id']; $_gift->num = $gift['num']; $_gift->limit = $gift['limit']; $giftSku[] = $_gift; } } } $skuId = $input['sku_id']; $sku = ProductSku::findOrFail($skuId); if ($sku->verify_state == 1 || !is_null($sku->release_at)) {//如果是审核中,或者上架中,则无法修改。 return $this->response()->error('当前商品目前无法修改赠品')->refresh(); } try { DB::beginTransaction(); $sku->gifts()->saveMany($giftSku); ProductGift::whereIn('id', $delGiftIds)->delete(); DB::commit(); } catch (Throwable $th) { DB::rollBack(); report($th); return $this->response()->error('操作失败:'.$th->getMessage())->refresh(); } return $this->response() ->success(__('admin.update_succeeded')) ->refresh(); } /** * Build a form here. */ public function form() { $id = $this->payload['id'] ?? 0; $sku = ProductSku::with('gifts')->findOrFail($id); $this->hasMany('gifts', function (NestedForm $form) { $form->select('gift_sku_id')->options(function ($id) { $sku = ProductSku::find($id); if ($sku) { return [$sku->id => $sku->name]; } })->ajax(admin_route('api.product_skus'))->required(); $form->number('num')->min(1)->default(1); $form->number('limit')->min(0)->default(0); })->customFormat(function () use ($sku) { return $sku->gifts; }); $this->hidden('sku_id')->value($id); } }