columnId(); $grid->column('name', '名称'); $grid->column('code', '编码'); $grid->column('description', '描述')->limit(30); $grid->column('created_at', '创建时间'); $grid->column('updated_at', '更新时间'); // 筛选 $grid->filter(function ($filter) { $helper = new FilterHelper($filter, $this); $helper->equal('id', 'ID'); $filter->like('name', '名称'); $filter->like('code', '编码'); }); }); } /** * 详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new ItemGroupRepository(), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->field('id', 'ID'); $helper->field('name', '名称'); $helper->field('code', '编码'); $helper->field('description', '描述'); $helper->field('created_at', '创建时间'); $helper->field('updated_at', '更新时间'); // 显示物品组中的物品 $show->groupItems('物品组内容', function ($groupItems) { $groupItems->resource('/admin/game-items-group-items'); $groupItems->id('ID'); $groupItems->item()->name('物品名称'); $groupItems->weight('权重'); }); }); } /** * 表单 * * @return Form */ protected function form() { return Form::make(new ItemGroupRepository(['groupItems']), function (Form $form) { $helper = new \App\Module\GameItems\AdminControllers\Helper\FormHelper($form, $this); $helper->text('name')->required(); $helper->text('code')->required()->help('用于系统识别的唯一编码'); $helper->textarea('description'); // 物品组内容 $form->hasMany('groupItems', '物品组内容', function (Form\NestedForm $form) { $form->select('item_id', '物品') ->options((new Item())->pluck('name', 'id')) ->required(); $form->number('weight', '权重') ->default(1.0) ->min(0.001) ->required() ->help('权重越高,随机选择时概率越大'); }); }); } }