starNewsRepository = $starNewsRepository; } //星球新闻列表 public function index(Request $request) { $starNews = $this->starNewsRepository->index($request->all()); $fractal = new Manager(); $resource = new Collection($starNews, new StarNewsTransformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($starNews)); $data = $fractal->createData($resource)->toArray(); $data['extra'] = [ 'filters' => [ 'id', 'sort', 'status' ], 'columns' => [ 'id', 'title', 'content', 'cover_img', 'status', 'sort', 'updated_at' ] ]; return $data; } //新增星球新闻 public function create(Request $request) { $validator = Validator::make($request->all(), [ 'title' => 'required|string', 'content' => 'required|string', 'cover_img' => 'required', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->starNewsRepository->create($request->all()); } //修改星球新闻 public function edit(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|exists:star_news', 'title' => 'required|string', 'content' => 'required|string', 'cover_img' => 'required', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->starNewsRepository->edit($request->all()); } //删除星球新闻 public function delete(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|exists:star_news' ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->starNewsRepository->delete($request->only('id')); } //修改星球新闻状态 public function editStatus(Request $request) { $validator = Validator::make($request->all(), [ 'id' => 'required|exists:star_news', 'status' => ['required', Rule::in(0,1)], ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->starNewsRepository->editStatus($request->all()); } }