VocabularyController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Vocabulary;
  4. use Illuminate\Http\Request;
  5. use App\Http\Resources\VocabularyResource;
  6. use Illuminate\Support\Facades\Cache;
  7. class VocabularyController 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("/dict_vocabulary/{$key}",60,function() use($key){
  21. return Vocabulary::where('word','like',$key."%")
  22. ->whereOr('word_en','like',$key."%")
  23. ->take(10)->get();
  24. });
  25. return $this->ok(['rows'=>VocabularyResource::collection($result),'count'=>count($result)]);
  26. break;
  27. }
  28. }
  29. /**
  30. * Store a newly created resource in storage.
  31. *
  32. * @param \Illuminate\Http\Request $request
  33. * @return \Illuminate\Http\Response
  34. */
  35. public function store(Request $request)
  36. {
  37. //
  38. }
  39. /**
  40. * Display the specified resource.
  41. *
  42. * @param \App\Models\Vocabulary $vocabulary
  43. * @return \Illuminate\Http\Response
  44. */
  45. public function show(Vocabulary $vocabulary)
  46. {
  47. //
  48. }
  49. /**
  50. * Update the specified resource in storage.
  51. *
  52. * @param \Illuminate\Http\Request $request
  53. * @param \App\Models\Vocabulary $vocabulary
  54. * @return \Illuminate\Http\Response
  55. */
  56. public function update(Request $request, Vocabulary $vocabulary)
  57. {
  58. //
  59. }
  60. /**
  61. * Remove the specified resource from storage.
  62. *
  63. * @param \App\Models\Vocabulary $vocabulary
  64. * @return \Illuminate\Http\Response
  65. */
  66. public function destroy(Vocabulary $vocabulary)
  67. {
  68. //
  69. }
  70. }