title; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $start = $request->start; $end = $request->end; $lists = Organ::when($title, function ($query) use ($title) { $query->where('title', 'like', "%{$title}%"); }) ->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); }) ->orderBy('created_at', 'desc') ->when($start && $end, function ($query) use ($start, $end) { return $query->whereBetween('created_at', [$start, date('Y-m-d', strtotime("+1 days", strtotime($end)))]); })->when($start && !$end, function ($query) use ($start) { return $query->where('created_at', '>=', $start); })->when(!$start && $end, function ($query) use ($end) { return $query->where('created_at', '<=', date('Y-m-d', strtotime("+1 days", strtotime($end)))); }) ->paginate($numPerPage); return view('Admin::organ.index', compact('lists')); } public function create() { $provinces = \Area::index(0); $categoies = Category::treeSelect(1); dd(1); return view('Admin::organ.create', compact('provinces', 'categoies')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'title' => 'required|min:2|max:50', 'mobile' => 'required', 'wechat' => 'required', 'province_sn' => 'required', 'city_sn' => 'required', 'area_sn' => 'required', 'address' => 'required', 'description' => 'required|min:4', 'content' => 'required|min:4', 'storage_id' => 'required', ], [ 'title.required' => '机构名称必须填写', 'title.min' => '机构名称最少为:min字符', 'title.max' => '机构名称最多为:max字符', 'mobile.required' => '电话必须填写', 'wechat.required' => '微信必须填写', 'province_sn.required' => '请选择省', 'city_sn.required' => '请选择市', 'area_sn.required' => '请选择区', 'address.required' => '地址必须填写', 'description.required' => '简介必须填写', 'description.min' => '简介最少:min个字', 'content.required' => '内容必须填写', 'content.min' => '内容最少:min个字', 'storage_id.required' => '图片必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } try { DB::transaction(function () use ($request) { $organ = Organ::create($request->all()); }); return $this->success('操作成功', 'close'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } public function edit(Organ $organ) { $provinces = \Area::index(0); $cities = \Area::index($organ->province_sn); $areas = \Area::index($organ->city_sn); $categoies = Category::treeSelect(1); return view('Admin::organ.edit', compact('organ', 'provinces', 'cities', 'areas', 'categoies')); } public function update(Request $request, Organ $organ) { $validator = Validator::make($request->all(), [ 'title' => 'required|min:2|max:50', 'mobile' => 'required', 'wechat' => 'required', 'province_sn' => 'required', 'city_sn' => 'required', 'area_sn' => 'required', 'address' => 'required', 'description' => 'required|min:4', 'content' => 'required|min:4', 'storage_id' => 'required', ], [ 'title.required' => '机构名称必须填写', 'title.min' => '机构名称最少为:min字符', 'title.max' => '机构名称最多为:max字符', 'mobile.required' => '电话必须填写', 'wechat.required' => '微信必须填写', 'province_sn.required' => '请选择省', 'city_sn.required' => '请选择市', 'area_sn.required' => '请选择区', 'address.required' => '地址必须填写', 'description.required' => '简介必须填写', 'description.min' => '简介最少:min个字', 'content.required' => '内容必须填写', 'content.min' => '内容最少:min个字', 'storage_id.required' => '图片必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } try { DB::transaction(function () use ($organ, $request) { $organ->update($request->all()); }); return $this->success('操作成功', 'close'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } public function destroy(Organ $organ) { try { DB::transaction(function () use ($organ) { $organ->status = 0; $organ->save(); }); return $this->success('操作成功'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } /** * 彻底删除单条目 * @Author: * @Date:2018-11-02T13:43:36+0800 * @param [type] $user [description] * @return [type] [description] */ public function delete(Organ $organ) { try { DB::transaction(function () use ($organ) { $organ->delete(); }); return $this->success('操作成功'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } }