column('id')->sortable(); $grid->column('cover', '图片')->image('', 60, 60); $grid->column('category.title', '分类名称'); $grid->column('title', '图片名称'); $grid->column('url', '地址'); $grid->column('sort', '排序'); $grid->column('created_at'); $grid->column('updated_at')->sortable(); $grid->filter(function (Grid\Filter $filter) { $filter->equal('id'); $filter->like('title', '图片名称'); $filter->equal('category.id', '分类名称')->select(Category::selectOptions(function ($model) { return $model->where('status', 1)->where('type', Category::TYPE_ADVERT); }, '所有分类')); }); }); } /** * Make a show builder. * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new Advert(), function (Show $show) { $show->field('id'); $show->field('created_at'); $show->field('updated_at'); }); } /** * Make a form builder. * * @return Form */ protected function form() { return Form::make(new Advert(), function (Form $form) { $form->text('title', '图片名称')->required(); $form->select('category_id', '所属分类') ->options(Category::selectOptions(function ($model) { return $model->where('status', 1)->where('type', Category::TYPE_ADVERT); }, '选择分类')) ->rules('required|min:1', [ 'required' => '必须选择所属分类', 'min' => '必须选择所属分类', ]); $form->image('cover', '封面图片') ->accept('jpeg,jpg,png') ->rules('image|mimes:jpeg,jpg,png') ->move('images/'.date('Y/m/d')) ->uniqueName(); // $form->image('cover', '封面图片') // ->rules(function ($form) { // if ($form->model()->cover != []) { // return 'nullable|image'; // } else { // return 'required'; // } // }) // ->move('images/' . date('Y/m/d')) // ->removable() // ->uniqueName(); $form->text('url', '链接地址'); $form->number('sort', '排序') ->default(1) ->required() ->help('数字越大越靠前'); }); } }