topicGroupRepository = $topicGroupRepository; } //列表 public function index(Request $request){ $topicGroup = $this->topicGroupRepository->index($request->all()); $fractal = new Manager(); $resource = new Collection($topicGroup, new TopicGroupTransformer()); $resource->setPaginator(new IlluminatePaginatorAdapter($topicGroup)); $data = $fractal->createData($resource)->toArray(); $data['extra'] = [ 'filters' => [ 'name', ], 'columns' => [ 'id', 'name', 'img', 'created_at', 'is_suggest', 'topic_count', 'topic_list' ] ]; return $data; } //创建 public function create(Request $request){ $data = $request->only('name','img','topic_ids','desc'); $validator = Validator::make($data, [ 'name' => 'required|string|max:12', 'topic_ids' => 'required|string', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->topicGroupRepository->create($data); } //修改 public function edit(Request $request){ $data = $request->only('id','name','img','topic_ids','desc'); $validator = Validator::make($data, [ 'name' => 'required|string|max:12', 'topic_ids' => 'required|string', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->topicGroupRepository->edit($data); } //详情 public function view(Request $request){ $data = $request->only('id','status'); $validator = Validator::make($data, [ 'id' => 'required|integer|max:12', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } $info = $this->topicGroupRepository->view($data); return $this->response->item($info, new DetailTopicGroupTransformer()); } //删除 public function delete(Request $request){ $data = $request->only('id','status'); $validator = Validator::make($data, [ 'id' => 'required|integer|max:12', ]); if ($validator->fails()) { return $this->response->error($validator->errors()->first(), 500); } return $this->topicGroupRepository->delete($data); } }