ChapterIndexController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\ProgressChapter;
  4. use App\Models\Channel;
  5. use Illuminate\Http\Request;
  6. class ChapterIndexController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index(Request $request)
  14. {
  15. //
  16. switch ($request->input('view')) {
  17. case 'public':
  18. $channels = Channel::where('status', 30)->select('uid');
  19. $table = ProgressChapter::whereIn('channel_id', $channels);
  20. break;
  21. }
  22. if ($request->has("updated_at")) {
  23. $table = $table->where('updated_at', '>', $request->input("updated_at"));
  24. }
  25. if ($request->has("created_at")) {
  26. $table = $table->where('created_at', '>', $request->input("created_at"));
  27. }
  28. //获取记录总条数
  29. $count = $table->count();
  30. //处理排序
  31. $table = $table->orderBy(
  32. $request->input("order", 'created_at'),
  33. $request->input("dir", 'desc')
  34. );
  35. //处理分页
  36. $table = $table->skip($request->input("offset", 0))
  37. ->take($request->input("limit", 200));
  38. //获取数据
  39. $result = $table->get();
  40. return $this->ok(["rows" => $result, "count" => $count]);
  41. }
  42. /**
  43. * Store a newly created resource in storage.
  44. *
  45. * @param \Illuminate\Http\Request $request
  46. * @return \Illuminate\Http\Response
  47. */
  48. public function store(Request $request)
  49. {
  50. //
  51. }
  52. /**
  53. * Display the specified resource.
  54. *
  55. * @param \App\Models\ProgressChapter $progressChapter
  56. * @return \Illuminate\Http\Response
  57. */
  58. public function show(ProgressChapter $progressChapter)
  59. {
  60. //
  61. }
  62. /**
  63. * Update the specified resource in storage.
  64. *
  65. * @param \Illuminate\Http\Request $request
  66. * @param \App\Models\ProgressChapter $progressChapter
  67. * @return \Illuminate\Http\Response
  68. */
  69. public function update(Request $request, ProgressChapter $progressChapter)
  70. {
  71. //
  72. }
  73. /**
  74. * Remove the specified resource from storage.
  75. *
  76. * @param \App\Models\ProgressChapter $progressChapter
  77. * @return \Illuminate\Http\Response
  78. */
  79. public function destroy(ProgressChapter $progressChapter)
  80. {
  81. //
  82. }
  83. }