SentenceIOController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Sentence;
  4. use App\Models\Channel;
  5. use Illuminate\Http\Request;
  6. class SentenceIOController 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. $table = Sentence::select(['uid','book_id','paragraph',
  17. 'word_start','word_end',
  18. 'content','content_type',
  19. 'channel_uid','editor_uid','language',
  20. 'updated_at','created_at']);
  21. switch ($request->get('view')) {
  22. case 'public':
  23. $channels = Channel::where('status',30)
  24. ->where('type',$request->get('type','translation'))
  25. ->select('uid')->get();
  26. $table->whereIn('channel_uid',$channels)
  27. ->where('updated_at','>',$request->get('updated_at','2000-1-1'));
  28. break;
  29. }
  30. $count = $table->count();
  31. //处理排序
  32. $table->orderBy('updated_at','asc');
  33. //处理分页
  34. $table->skip($request->get("offset",0))
  35. ->take($request->get("limit",200));
  36. //获取数据
  37. $result = $table->get();
  38. return $this->ok(["rows"=>$result,"count"=>$count]);
  39. }
  40. /**
  41. * Store a newly created resource in storage.
  42. *
  43. * @param \Illuminate\Http\Request $request
  44. * @return \Illuminate\Http\Response
  45. */
  46. public function store(Request $request)
  47. {
  48. //
  49. }
  50. /**
  51. * Display the specified resource.
  52. *
  53. * @param \App\Models\Sentence $sentence
  54. * @return \Illuminate\Http\Response
  55. */
  56. public function show(Sentence $sentence)
  57. {
  58. //
  59. }
  60. /**
  61. * Update the specified resource in storage.
  62. *
  63. * @param \Illuminate\Http\Request $request
  64. * @param \App\Models\Sentence $sentence
  65. * @return \Illuminate\Http\Response
  66. */
  67. public function update(Request $request, Sentence $sentence)
  68. {
  69. //
  70. }
  71. /**
  72. * Remove the specified resource from storage.
  73. *
  74. * @param \App\Models\Sentence $sentence
  75. * @return \Illuminate\Http\Response
  76. */
  77. public function destroy(Sentence $sentence)
  78. {
  79. //
  80. }
  81. }