middleware( function ($request, $next) { $this->repository = app(UserGroupRepositoryInterface::class); return $next($request); } ); } public function index(PaginationRequest $request): JsonResponse { $administrations = $this->repository->get(); [ 'page' => $page, 'limit' => $limit, 'offset' => $offset, ] = $request->attributes->all(); $count = $administrations->count(); $administrations = $administrations->slice($offset, $limit); $paginator = new LengthAwarePaginator($administrations, $count, $limit, $page); $transformer = new UserGroupTransformer(); return response() ->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer)) ->header('Content-Type', self::CONTENT_TYPE) ; } }