/** * Finds countries by territory * * @param \SJBR\StaticInfoTables\Domain\Model\Territory $territory * * @return \TYPO3\CMS\Extbase\Persistence\QueryResultInterface|array */ public function findByTerritory(\SJBR\StaticInfoTables\Domain\Model\Territory $territory) { $unCodeNumbers = array($territory->getUnCodeNumber()); // Get UN code numbers of subterritories (recursively) $subterritories = $this->territoryRepository->findWithinTerritory($territory); foreach ($subterritories as $subterritory) { $unCodeNumbers[] = $subterritory->getUnCodeNumber(); } $query = $this->createQuery(); $query->matching($query->in('parentTerritoryUnCodeNumber', $unCodeNumbers)); return $query->execute(); }