repository) $this->repository = $repository; } function index(Request $request) { $search['keyword'] = $request->input('keyword'); $query = $this->repository->pushCriteria(new MultiWhere($search)); if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by'])); }else{ $query = $query->pushCriteria(new OrderBy('id','DESC')); } $list = $query->paginate(); foreach ($list as $key=>$val){ $list[$key]['count'] = MessagesFollowerModel::where([['messages_id',$val['id']]])->count(); $user = UserInfoModel::find($val['user_id']); $list[$key]['user'] = $user->nickname; switch ($val['type']) { case '0': $list[$key]['type'] = '免费'; $list[$key]['state'] = '--'; break; case '1': $list[$key]['type'] = '悬赏'; if($val['state'] == 0){ $list[$key]['state'] = '未完成'; } else { $list[$key]['state'] = '已结束'; } break; case '2': $list[$key]['type'] = '收费'; $list[$key]['state'] = '--'; break; } } return view('admin.messages.info.index',compact('list')); } function check(Request $request) { $request = $request->all(); $search['keyword'] = $request->input('keyword'); $orderby = array(); if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) { $orderby[$request['sort_field']] = $request['sort_field_by']; } $list = $this->repository->search($search,$orderby); return view('admin.messages.info.check',compact('list')); } /** * 添加 * */ public function create(Request $request) { if($request->method() == 'POST') { return $this->_createSave(); } $tags = MessagesTagModel::orderBy('sort','desc')->get(); return view('admin.messages.info.edit',compact('tags')); } /** * 保存修改 */ private function _createSave(){ $data = (array) request('data'); $id = $this->repository->create($data); if($id) { $url[] = array('url'=>U( 'Messages/Info/index'),'title'=>'返回列表'); $url[] = array('url'=>U( 'Messages/Info/create'),'title'=>'继续添加'); $this->showMessage('添加成功',$url); }else{ $url[] = array('url'=>U( 'Messages/Info/index'),'title'=>'返回列表'); return $this->showWarning('添加失败',$url); } } /** * * 修改 * * */ public function update(Request $request) { if($request->method() == 'POST') { return $this->_updateSave(); } $data = $this->repository->find($request->get('id')); $tags = MessagesTagModel::orderBy('sort','desc')->get(); return view('admin.messages.info.edit',compact('data','tags')); } /** * 保存修改 */ private function _updateSave() { $data = (array) request('data'); $ok = $this->repository->update(request('id'),$data); if($ok) { $url[] = array('url'=>U( 'Messages/Info/index'),'title'=>'返回列表'); return $this->showMessage('操作成功',urldecode(request('_referer'))); }else{ $url[] = array('url'=>U( 'Messages/Info/index'),'title'=>'返回列表'); return $this->showWarning('操作失败',$url); } } public function view(Request $request) { $data = $this->repository->find(request('id')); $pic = json_decode($data['pic_url']); $data['pic'] = $pic; return view('admin.messages.info.view',compact('data')); } /** * * 状态改变 * */ public function status(Request $request) { $ok = $this->repository->updateStatus(request('id'),request('status')); if($ok) { return $this->showMessage('操作成功'); }else{ return $this->showWarning('操作失败'); } } /** * 删除 */ public function destroy(Request $request) { $bool = $this->repository->destroy($request->get('id')); if($bool) { return $this->showMessage('操作成功'); }else{ return $this->showWarning("操作失败"); } } }