getDoctrine() ->getRepository(Project::class) ->findAll() ; $results = []; foreach($projects as $p) { $project = [ 'id' => $p->getId(), 'name' => $p->getName(), ]; $project['users'] = $p->getUsers()->map(function($user) { return ['id' => $user->getId(), 'username' => $user->getUsername()]; })->toArray(); $project['requests'] = $p->getRequests()->map(function($req) { return ['id' => $req->getId()]; })->toArray(); $results[] = $project; } return new DataResponse([ 'projects' => $results, ]); } }