category = $category; $this->categoryTopic = $categoryTopic; } //列表 public function index($request){ $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $where = []; if(isset($request['name'])){ $where[] = ['name', 'like', "%{$request['name']}%"]; } return $this->category->where($where)->paginate($perPage); } //详情 public function view($request){ return $this->category->where(['id'=>$request['id']])->first(); } //创建 public function create($request){ $category = $this->category->where(['name'=>$request['name']])->first(); if($category){ return Response::create([ 'message' => '该分类已存在', 'status_code' => 500 ]); } $data = [ 'name' => $request['name'], 'img' => $request['img'], //'is_suggest' => $request['is_suggest'], 'desc' => $request['desc'], ]; if(!empty($request['topic_ids'])){ $topic_ids = explode(',', $request['topic_ids']); } DB::beginTransaction(); try{ $categoryInfo = $this->category->create($data); if($categoryInfo){ if($topic_ids){ $category_topic_data = []; foreach($topic_ids as $value){ $category_topic_data[] = [ 'category_id' => $categoryInfo->id, 'topic_id' => $value, ]; } $this->categoryTopic->insert($category_topic_data); } } DB::commit(); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('新增话题分组:'.$exception->getMessage()); return Response::create([ 'message' => '新增话题失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } //修改 public function update($request){ $category = $this->category->where('id', $request['id'])->first(); if(isset($request['is_suggest']) && $request['is_suggest'] !== null){ $category->is_suggest = $request['is_suggest']; } $res = $category->save(); if($res){ return Response::create(); } } }