_em->createQueryBuilder(); $qb->addSelect("region") ->addSelect("subRegions") ->from(Region::class, "region") ->leftJoin("region.subRegions", "subRegions") ->andWhere($qb->expr()->isNull("region.parentRegion")) ->orderBy("region.sortOrder"); return $qb->getQuery()->getResult(); } public function getForm(string $route, Region $region): FormInterface { $params=$region->getId() !== null ? array('id'=>$region->getId()) : array(); return $this->formFactory->create(RegionType::class, $region, array( 'action'=>$this->router->generate($route, $params), 'method'=>'post', 'data_route'=>$route, )); } }