'资讯模型', 'Goods' => '商品模型', ]; public function index(Request $request) { $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $model = $request->model; $adverts = Advert::when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); }) ->when($model, function ($query) use ($model) { $query->where('advertable_type', 'like', "%{$model}%"); }) ->paginate($numPerPage); return view('Admin::adverts.index', compact('adverts')); } public function create() { $models = $this->models; return view('Admin::adverts.create', compact('models')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'sort' => 'required|numeric', 'storage_id' => 'required', ], [ 'sort.required' => '排序必须填写', 'sort.numeric' => '排序只能是数字', 'url.required' => 'url必须填写', 'url.url' => 'url格式不正确', 'storage_id.required' => '图片必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } Advert::create([ 'storage_id' => $request->storage_id, 'sort' => $request->sort, 'url' => $request->url, ]); return $this->success('轮播创建成功', 'close'); } public function edit(Advert $advert) { $models = $this->models; return view('Admin::adverts.edit', compact('models', 'advert')); } public function update(Request $request, Advert $advert) { $validator = Validator::make($request->all(), [ 'sort' => 'required|numeric', 'storage_id' => 'required', ], [ 'sort.required' => '排序必须填写', 'sort.numeric' => '排序只能是数字', 'url.required' => 'url必须填写', 'url.url' => 'url格式不正确', 'storage_id.required' => '图片必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } $advert->update([ 'storage_id' => $request->storage_id, 'sort' => $request->sort, 'url' => $request->url, ]); return $this->success('轮播更新成功', 'close'); } public function destroy(Advert $advert) { if ($advert->delete()) { return $this->success(); } else { return $this->error(); } } }