activities = $activities; } //列表 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->activities->where($where)->paginate($perPage); } //详情 public function view($request){ return $this->activities->where(['id'=>$request['id']])->first(); } //创建 public function create($request){ $activities = $this->activities->where(['name'=>$request['name']])->first(); if($activities){ return Response::create([ 'message' => '该活动已存在', 'status_code' => 500 ]); } $data = [ 'name' => $request['name'], 'content' => $request['content'], ]; DB::beginTransaction(); try{ $this->activities->create($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 edit($request){ $activities = $this->activities->where(['id'=>$request['id']])->first(); if(!$activities){ return Response::create([ 'message' => '该活动不存在', 'status_code' => 500 ]); } $activities->content = $request['content']; $activities->name = $request['name']; DB::beginTransaction(); try{ $activities->save(); DB::commit(); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('编辑活动:'.$exception->getMessage()); return Response::create([ 'message' => '编辑活动失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } }