seller_id; $title = $request->title; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $admin = Admin::user(); $teachers = SellerTeacher::when($seller_id, function ($query) use ($seller_id) { $query->where('seller_id', $seller_id); }) ->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') ->paginate($numPerPage); return view('Admin::teacher.index', compact('teachers')); } public function create() { $sellers = Seller::where('type', 'organ')->get(); return view('Admin::teacher.create', compact('sellers')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|min:2|max:50', 'rank' => 'required|min:2', 'school_age' => 'required', 'storage_id' => 'required', ], [ 'name.required' => '标题必须填写', 'name.min' => '标题最少为:min字符', 'name.max' => '标题最多为:max字符', 'rank.required' => '职级必须填写', 'rank.min' => '职级最少:min个字', 'school_age.required' => '教龄必须填写', 'storage_id.required' => '教师头像必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } try { DB::transaction(function () use ($request) { $info = SellerTeacher::create($request->all()); }); return $this->success('操作成功', 'close'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } public function edit($id) { $info = SellerTeacher::find($id); $sellers = Seller::where('type', 'organ')->get(); return view('Admin::teacher.edit', compact('info', 'sellers')); } public function update(Request $request, $id) { $info = SellerTeacher::find($id); $validator = Validator::make($request->all(), [ 'name' => 'required|min:2|max:50', 'rank' => 'required|min:2', 'school_age' => 'required', 'storage_id' => 'required', ], [ 'name.required' => '标题必须填写', 'name.min' => '标题最少为:min字符', 'name.max' => '标题最多为:max字符', 'rank.required' => '职级必须填写', 'rank.min' => '职级最少:min个字', 'school_age.required' => '教龄必须填写', 'storage_id.required' => '教师头像必须上传', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } try { DB::transaction(function () use ($request, $info) { $info = $info->update($request->all()); }); return $this->success('操作成功', 'close'); } 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(SellerTeacher $info) { try { DB::transaction(function () use ($info) { $info->delete(); }); return $this->success('操作成功'); } catch (\Exception $e) { return $this->error('操作失败' . $e->getmessage()); } } }