2
0

SearchTitleController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Resources\SearchTitleIndexResource;
  4. use App\Models\PaliText;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Http\Response;
  7. class SearchTitleController extends Controller
  8. {
  9. /**
  10. * Display a listing of the resource.
  11. *
  12. * @return Response
  13. */
  14. public function index(Request $request)
  15. {
  16. //
  17. $key = strtolower($request->input('key'));
  18. $table = PaliText::where('level', '<', 8)
  19. ->where(function ($query) use ($key) {
  20. $query->where('title_en', 'like', "%{$key}%")
  21. ->orWhere('title', 'like', "%{$key}%");
  22. });
  23. $count = $table->count();
  24. $table = $table->orderBy('title_en');
  25. $table = $table->skip($request->input('offset', 0))
  26. ->take($request->input('limit', 10));
  27. $result = $table->get();
  28. return $this->ok(['rows' => SearchTitleIndexResource::collection($result), 'count' => $count]);
  29. }
  30. /**
  31. * Store a newly created resource in storage.
  32. *
  33. * @return Response
  34. */
  35. public function store(Request $request)
  36. {
  37. //
  38. }
  39. /**
  40. * Display the specified resource.
  41. *
  42. * @return Response
  43. */
  44. public function show(PaliText $paliText)
  45. {
  46. //
  47. }
  48. /**
  49. * Update the specified resource in storage.
  50. *
  51. * @return Response
  52. */
  53. public function update(Request $request, PaliText $paliText)
  54. {
  55. //
  56. }
  57. /**
  58. * Remove the specified resource from storage.
  59. *
  60. * @return Response
  61. */
  62. public function destroy(PaliText $paliText)
  63. {
  64. //
  65. }
  66. }