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')->default(1); $form->number('limit')->default(0); })->customFormat(function () use ($sku) { return $sku->gifts; }); $this->hidden('sku_id')->value($id); } }