WordIndexController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\WordIndex;
  4. use Illuminate\Http\Request;
  5. use App\Http\Resources\WordIndexResource;
  6. use Illuminate\Support\Facades\Cache;
  7. class WordIndexController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return \Illuminate\Http\Response
  13. */
  14. public function index(Request $request)
  15. {
  16. //
  17. switch ($request->get("view")) {
  18. case 'key':
  19. $key = $request->get("key");
  20. $result = Cache::remember("/word_index/{$key}",120,function() use($key){
  21. return WordIndex::where('word','like',$key."%")
  22. ->whereOr('word_en','like',$key."%")
  23. ->orderBy('word')
  24. ->take(10)->get();
  25. });
  26. return $this->ok(['rows'=>WordIndexResource::collection($result),'count'=>count($result)]);
  27. break;
  28. default:
  29. return $this->error('view error');
  30. break;
  31. }
  32. }
  33. /**
  34. * Store a newly created resource in storage.
  35. *
  36. * @param \Illuminate\Http\Request $request
  37. * @return \Illuminate\Http\Response
  38. */
  39. public function store(Request $request)
  40. {
  41. //
  42. }
  43. /**
  44. * Display the specified resource.
  45. *
  46. * @param \App\Models\WordIndex $wordIndex
  47. * @return \Illuminate\Http\Response
  48. */
  49. public function show(WordIndex $wordIndex)
  50. {
  51. //
  52. }
  53. /**
  54. * Update the specified resource in storage.
  55. *
  56. * @param \Illuminate\Http\Request $request
  57. * @param \App\Models\WordIndex $wordIndex
  58. * @return \Illuminate\Http\Response
  59. */
  60. public function update(Request $request, WordIndex $wordIndex)
  61. {
  62. //
  63. }
  64. /**
  65. * Remove the specified resource from storage.
  66. *
  67. * @param \App\Models\WordIndex $wordIndex
  68. * @return \Illuminate\Http\Response
  69. */
  70. public function destroy(WordIndex $wordIndex)
  71. {
  72. //
  73. }
  74. }