CourseController.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Http\Controllers\Home;
  3. use Auth;
  4. use App\Models\Course;
  5. use App\Models\Article;
  6. use App\Models\CoursesUser;
  7. use App\Http\Controllers\Home\BaseController;
  8. class CourseController extends BaseController
  9. {
  10. /* 视图文件相对路径 */
  11. protected $view = 'home.course';
  12. protected $view_det = 'home.course_detail';
  13. public function __construct(Course $course, Article $article)
  14. {
  15. $this->course = $course;
  16. $this->article = $article;
  17. parent::__construct();
  18. }
  19. // 创享课程页面
  20. public function showCourse()
  21. {
  22. return $this->showSecondMenuView('cor', $this->view, $this->course, $this->article);
  23. }
  24. // 课程详情页面
  25. public function showCourseDetail($href1, $href2, $id)
  26. {
  27. $course = Course::find($id);
  28. if (!$course) {
  29. return redirect()->back()->with('error', '找不到该课程');
  30. }
  31. return $this->showThirdMenuView($this->view_det, $href1, $href2, $course);
  32. }
  33. // 课程报名页面
  34. public function courseRegister($id)
  35. {
  36. if ( !Auth::check() ) {
  37. return redirect()->route('login');
  38. }
  39. $uid = Auth::user()->id;
  40. $if_reg = CoursesUser::where('cid', $id)
  41. ->where('uid', $uid)
  42. ->count();
  43. if ($if_reg) {
  44. return redirect()->back()->with('error', '请勿重复报名!');
  45. }
  46. $course = Course::findOrFail($id);
  47. $course_user_num = CoursesUser::where('cid', $id)
  48. ->count();
  49. if ( $course->user_num && ($course_user_num == $course->user_num) ) {
  50. return redirect()->back()->with('error', '非常抱歉!报名人数已满!');
  51. }
  52. CoursesUser::create([
  53. 'cid' => $id,
  54. 'uid' => $uid
  55. ]);
  56. return redirect()->back()->with('success', '恭喜您报名成功!');
  57. }
  58. }