entityManager = $entityManager; } /** * Find the lowest current place in the same configuration which a current_place * @param string $currentPlace * * @return string|null */ public function findLowestCurrentPlace(string $currentPlace): string { $qb = $this->entityManager->createQuery(); $qb->setDQL(' SELECT place.key current_place FROM ' . Places::class . ' place JOIN place.configuration configuration WHERE configuration.id IN ( SELECT c.id FROM ' . Places::class . ' p JOIN p.configuration c WHERE p.key = ' . ":currentPlace" . ' ) ORDER BY place.id ASC '); $qb->setParameter("currentPlace", $currentPlace) ->setMaxResults(1); return $qb->getSingleScalarResult(); } }