goalRepository = $goalRepository; $this->paginator = $paginator; } public function listBySocialAction(Request $request, SocialAction $action): Response { $totalItems = $this->goalRepository->countBySocialActionWithDescendants($action); $paginator = $this->getPaginatorFactory()->create($totalItems); $entities = $this->goalRepository->findBySocialActionWithDescendants($action, ["id" => "ASC"], $paginator->getItemsPerPage(), $paginator->getCurrentPageFirstItemNumber()); $model = new Collection($entities, $paginator); return $this->json($model, Response::HTTP_OK, [], [ "groups" => [ "read" ]]); } }