Symfony findBy 字段名

Symfony findBy field name

我有一个关联 Region ToMany Places。 在 PlacesRepository.php 我有这个代码:

       $allPlacesArray = [];
       foreach ($placeTypes as $placeType){
           if($placeType == 'all'){
               $allPlacesArray = $this->findAll();
           }
           $allPlacesArray = array_merge($allPlacesArray, $this->findBy(['region' => 2]));
       }
       return $allPlacesArray;
   }

现在它通过 id 字段搜索区域中的地点。 我想要的是从区域实体中按字段 name 搜索区域中的地点,因为我从客户端收到区域的 name 而不是 id。我不明白也找不到我该怎么做。我已经试过了 $this->findBy(['region.name' => 'Республика Крым'],但不是这样。

万一有人需要这个问题的答案。 在存储库中:

public function findAllPlacesInRegion() {
            $queryBuilder = $this->createQueryBuilder('p')
                ->leftJoin('p.region', 'r')
                ->where('r.name like :region_name' )
                ->setParameter('region_name', 'Республика Крым');
            return $queryBuilder->getQuery()->getResult();
    }