PreQuestionApiController.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\PreQuestion;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. class PreQuestionApiController extends Controller
  8. {
  9. public function index(Request $request): JsonResponse
  10. {
  11. $query = PreQuestion::query()->orderBy('id', 'asc');
  12. if ($request->filled('import_id')) {
  13. $query->where('import_id', (int) $request->input('import_id'));
  14. }
  15. $perPage = (int) $request->input('per_page', 200);
  16. $perPage = max(1, min($perPage, 1000));
  17. $paginator = $query->paginate($perPage);
  18. return response()->json([
  19. 'success' => true,
  20. 'data' => $paginator->items(),
  21. 'meta' => [
  22. 'current_page' => $paginator->currentPage(),
  23. 'per_page' => $paginator->perPage(),
  24. 'total' => $paginator->total(),
  25. 'last_page' => $paginator->lastPage(),
  26. ],
  27. ]);
  28. }
  29. }