seller->type != 'organ') { return $this->error('您没有权限'); } $title = $request->title; $orderField = $request->orderField; $orderDirection = $request->orderDirection; $numPerPage = $request->numPerPage ?: 30; $lists = SellerLesson::with('organ') ->withCount('logs') ->when($title, function ($query) use ($title) { $query->where('title', 'like', "%" . $title . "%"); }) ->when($orderField, function ($query) use ($orderField, $orderDirection) { $query->orderBy($orderField, $orderDirection); }) ->paginate($numPerPage); return view('Admin::lesson.index', compact('lists')); } public function create() { $organs = Seller::where('status', 1)->where('type', 'organ')->get(); $categoies = Category::treeSelect(1); return view('Admin::lesson.create', compact('organs', 'categoies')); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'title' => 'required|min:2|max:50', 'chapter' => 'required', 'price' => 'required', 'crowd' => 'required', 'crowd_age' => 'required', 'maximum' => 'required', 'seller_id' => 'required', 'description' => 'required', 'storage_id' => 'required', 'content' => 'required', ], [ 'name.required' => '课程名称必须填写', 'name.min' => '课程名称最少为:min字符', 'name.max' => '课程名称最多为:max字符', 'chapter.required' => '章节数必须填写', 'price.required' => '价格必须填写', 'crowd.required' => '适合人群必须填写', 'crowd_age.required' => '适合年龄必须填写', 'maximum.required' => '报名人数必须填写', 'seller_id.required' => '机构必须选择', 'description.required' => '简介必须填写', 'storage_id.required' => '图片必须上传', 'content.required' => '详情必须填写', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } if (SellerLesson::create($request->all())) { return $this->success('', 'close'); } else { return $this->error(); } } public function edit(SellerLesson $lesson) { $organs = Seller::where('status', 1)->where('type', 'organ')->get(); $categoies = Category::treeSelect(1); return view('Admin::lesson.edit', compact('lesson', 'organs', 'categoies')); } public function update(Request $request, SellerLesson $lesson) { $validator = Validator::make($request->all(), [ 'title' => 'required|min:2|max:50', 'chapter' => 'required', 'price' => 'required', 'crowd' => 'required', 'crowd_age' => 'required', 'maximum' => 'required', 'seller_id' => 'required', 'description' => 'required', 'storage_id' => 'required', 'content' => 'required', ], [ 'name.required' => '课程名称必须填写', 'name.min' => '课程名称最少为:min字符', 'name.max' => '课程名称最多为:max字符', 'chapter.required' => '章节数必须填写', 'price.required' => '价格必须填写', 'crowd.required' => '适合人群必须填写', 'crowd_age.required' => '适合年龄必须填写', 'maximum.required' => '报名人数必须填写', 'seller_id.required' => '机构必须选择', 'description.required' => '简介必须填写', 'storage_id.required' => '图片必须上传', 'content.required' => '详情必须填写', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } if ($lesson->update($request->all())) { return $this->success('', 'close'); } else { return $this->error(); } } public function delete(SellerLesson $lesson) { if ($lesson->delete()) { return $this->success(); } else { return $this->error(); } } public function logs($lesson) { $logs = SellerLessonLog::where('lesson_id', $lesson)->paginate(); return view('Admin::lesson.logs', compact('logs')); } }