WordIndexController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\WordIndex;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. class WordIndexController 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 'key':
  18. $key = $request->input("key");
  19. /*
  20. $result = Cache::remember("/word_index/{$key}",10,function() use($key){
  21. return WordIndex::where('word','like',$key."%")
  22. ->whereOr('word_en','like',$key."%")
  23. ->orderBy('word_en')
  24. ->take(10)->get();
  25. });
  26. $table = WordIndex::where('word','like',$key."%")
  27. ->whereOr('word_en','like',$key."%")
  28. ->orderBy('len')
  29. ->orderBy('word_en')
  30. ->take(10);
  31. $result = $table->get();
  32. */
  33. $result = DB::select("SELECT * from word_indices where word like ? or word_en like ? order by len, word_en limit 10", [$key . "%", $key . "%"]);
  34. return $this->ok(['rows' => $result, 'count' => count($result)]);
  35. break;
  36. default:
  37. return $this->error('view error');
  38. break;
  39. }
  40. }
  41. /**
  42. * Store a newly created resource in storage.
  43. *
  44. * @param \Illuminate\Http\Request $request
  45. * @return \Illuminate\Http\Response
  46. */
  47. public function store(Request $request)
  48. {
  49. //
  50. }
  51. /**
  52. * Display the specified resource.
  53. *
  54. * @param \App\Models\WordIndex $wordIndex
  55. * @return \Illuminate\Http\Response
  56. */
  57. public function show(WordIndex $wordIndex)
  58. {
  59. //
  60. }
  61. /**
  62. * Update the specified resource in storage.
  63. *
  64. * @param \Illuminate\Http\Request $request
  65. * @param \App\Models\WordIndex $wordIndex
  66. * @return \Illuminate\Http\Response
  67. */
  68. public function update(Request $request, WordIndex $wordIndex)
  69. {
  70. //
  71. }
  72. /**
  73. * Remove the specified resource from storage.
  74. *
  75. * @param \App\Models\WordIndex $wordIndex
  76. * @return \Illuminate\Http\Response
  77. */
  78. public function destroy(WordIndex $wordIndex)
  79. {
  80. //
  81. }
  82. }