em = $em; } public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next = null) { $qb = $this->em->createQueryBuilder(); $user = $qb->select('u, a, ac, uc') ->from(User::class, 'u') ->leftJoin('u.comments', 'uc') ->leftJoin('u.articles', 'a') ->leftJoin('a.comments', 'ac') ->where('u.id = :uid') ->setParameter('uid', 1) ->getQuery() ->getSingleResult(Query::HYDRATE_ARRAY); return new JsonResponse([ 'welcome' => 'Congratulations! You have reached our API endpoint.', 'user' => $user, ]); } }