columnId(); $grid->column('group.name', '物品组'); $grid->column('item.name', '物品'); $grid->column('weight', '权重'); $grid->column('created_at', '创建时间'); $grid->column('updated_at', '更新时间'); // 筛选 $grid->filter(function ($filter) { $helper = new FilterHelper($filter, $this); $helper->equal('id', 'ID'); $filter->equal('group_id', '物品组')->select( (new ItemGroupRepository())->pluck('name', 'id') ); $filter->equal('item_id', '物品')->select( (new ItemRepository())->pluck('name', 'id') ); }); }); } /** * 详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new ItemGroupItemRepository(), function (Show $show) { $helper = new ShowHelper($show, $this); $helper->field('id', 'ID'); $show->field('group.name', '物品组'); $show->field('item.name', '物品'); $helper->field('weight', '权重'); $helper->field('created_at', '创建时间'); $helper->field('updated_at', '更新时间'); }); } /** * 表单 * * @return Form */ protected function form() { return Form::make(new ItemGroupItemRepository(), function (Form $form) { $helper = new FormHelper($form, $this); $form->select('group_id', '物品组') ->options((new ItemGroupRepository())->pluck('name', 'id')) ->required(); $form->select('item_id', '物品') ->options((new ItemRepository())->pluck('name', 'id')) ->required(); $helper->number('weight') ->default(1.0) ->min(0.001) ->step(0.001) ->required() ->help('权重越高,随机选择时概率越大'); }); } }