SearchTitleController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\PaliText;
  4. use Illuminate\Http\Request;
  5. use App\Http\Resources\SearchTitleIndexResource;
  6. class SearchTitleController 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. $key = strtolower($request->get('key'));
  17. $table = PaliText::where('level','<',8)
  18. ->where(function ($query) use($key){
  19. $query->where('title_en','like',"%{$key}%")
  20. ->orWhere('title','like',"%{$key}%");
  21. });
  22. $count = $table->count();
  23. $table = $table->orderBy('title_en');
  24. $table = $table->skip($request->get("offset",0))
  25. ->take($request->get('limit',10));
  26. $result = $table->get();
  27. return $this->ok(["rows"=>SearchTitleIndexResource::collection($result),"count"=>$count]);
  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\PaliText $paliText
  43. * @return \Illuminate\Http\Response
  44. */
  45. public function show(PaliText $paliText)
  46. {
  47. //
  48. }
  49. /**
  50. * Update the specified resource in storage.
  51. *
  52. * @param \Illuminate\Http\Request $request
  53. * @param \App\Models\PaliText $paliText
  54. * @return \Illuminate\Http\Response
  55. */
  56. public function update(Request $request, PaliText $paliText)
  57. {
  58. //
  59. }
  60. /**
  61. * Remove the specified resource from storage.
  62. *
  63. * @param \App\Models\PaliText $paliText
  64. * @return \Illuminate\Http\Response
  65. */
  66. public function destroy(PaliText $paliText)
  67. {
  68. //
  69. }
  70. }