paginatorFactory = $paginatorFactory; } /** * @Route("/api/1.0/person/social-work/evaluation/by-social-action/{action_id}.json", * name="chill_person_evaluation_index_by_social_action", * requirements={ * "_format": "json" * } * ) * @ParamConverter("action", options={"id": "action_id"}) */ public function listEvaluationBySocialAction(SocialAction $action): Response { $pagination = $this->paginatorFactory->create($action->getEvaluations()->count()); $evaluations = $action->getEvaluations()->slice( $pagination->getCurrentPageFirstItemNumber(), $pagination->getItemsPerPage() ); $collection = new Collection($evaluations, $pagination); return $this->json($collection, Response::HTTP_OK, [], ['groups' => ['read']]); } }