CourseController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Basic;
  4. use App\Models\Course;
  5. use App\Models\Enroll;
  6. use App\Models\User;
  7. use Carbon\Carbon;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\Auth;
  10. use Illuminate\Support\Facades\Validator;
  11. class CourseController extends Controller{
  12. //课程列表
  13. public function course_list(Request $request){
  14. $inputData = $request->only(['page', 'page_size', 'week', 'season']);
  15. $messages = [
  16. 'required'=>':attribute为必填项',
  17. 'int'=>':attribute参数类型错误',
  18. 'max'=>':attribute长度不得超过 :size',
  19. ];
  20. $validator = Validator::make($inputData, [
  21. 'page' => 'required|int',
  22. 'page_size' => 'required|int',
  23. 'week' => 'required|int',
  24. 'season' => 'required|int',
  25. ], $messages,[
  26. 'page'=>'页码',
  27. 'page_size'=>'大小',
  28. 'week'=>'第几周',
  29. 'season'=>'赛季',
  30. ]);
  31. if ($validator->fails()){
  32. return $this->error(50024,'',current($validator->errors()->all()));
  33. }
  34. $id=Auth::user()->id;
  35. $re=Enroll::where('uid',$id)->where('status',0)->first();
  36. if ($re){
  37. $input=$request->all();
  38. $page=$input['page'];
  39. $page_size=$input['page_size'];
  40. $data=Course::where('season',$input['season'])->OrderBy('course_time')->where('week',$input['week']);
  41. $count=$data->count();
  42. $data=$data->select('*')->take($page_size)->skip(($page-1)*$page_size)->get();
  43. return $this->success_list($data,'',$count);
  44. }else{
  45. return $this->success_list([]);
  46. }
  47. }
  48. public function GetSeason(){
  49. $re=Course::GroupBy('season')->orderByDesc('season')->select('season')->get();
  50. return $this->success($re);
  51. }
  52. }