column('id', 'ID')->sortable(); $grid->column('user_id', '用户ID')->sortable(); $grid->column('buff_type', '加持类型')->display(function ($value) { return BUFF_TYPE::getName($value); })->sortable(); $grid->column('expire_time', '过期时间')->sortable(); $grid->column('created_at', '创建时间')->sortable(); $grid->column('updated_at', '更新时间')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id', 'ID'); $filter->equal('user_id', '用户ID'); $filter->equal('buff_type', '加持类型')->select([ BUFF_TYPE::HARVEST_GOD => BUFF_TYPE::getName(BUFF_TYPE::HARVEST_GOD), BUFF_TYPE::RAIN_GOD => BUFF_TYPE::getName(BUFF_TYPE::RAIN_GOD), BUFF_TYPE::WEED_KILLER_GOD => BUFF_TYPE::getName(BUFF_TYPE::WEED_KILLER_GOD), BUFF_TYPE::PEST_CLEANER_GOD => BUFF_TYPE::getName(BUFF_TYPE::PEST_CLEANER_GOD), ]); $filter->between('expire_time', '过期时间')->datetime(); $filter->between('created_at', '创建时间')->datetime(); }); }); } /** * 构建详情页 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new FarmGodBuffRepository(), function (Show $show) { $show->field('id', 'ID'); $show->field('user_id', '用户ID'); $show->field('buff_type', '加持类型')->as(function ($value) { return BUFF_TYPE::getName($value); }); $show->field('expire_time', '过期时间'); $show->field('created_at', '创建时间'); $show->field('updated_at', '更新时间'); }); } /** * 构建表单 * * @return Form */ protected function form() { return Form::make(new FarmGodBuffRepository(), function (Form $form) { $form->display('id', 'ID'); $form->text('user_id', '用户ID')->required()->rules('required|integer'); $form->select('buff_type', '加持类型')->options([ BUFF_TYPE::HARVEST_GOD => BUFF_TYPE::getName(BUFF_TYPE::HARVEST_GOD), BUFF_TYPE::RAIN_GOD => BUFF_TYPE::getName(BUFF_TYPE::RAIN_GOD), BUFF_TYPE::WEED_KILLER_GOD => BUFF_TYPE::getName(BUFF_TYPE::WEED_KILLER_GOD), BUFF_TYPE::PEST_CLEANER_GOD => BUFF_TYPE::getName(BUFF_TYPE::PEST_CLEANER_GOD), ])->required(); $form->datetime('expire_time', '过期时间')->required(); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }