code: private function getFindOneByCountryAndMethodAndWeightQuery()
      {
          if (null === $this->findOneByCountryAndMethodAndWeightQuery) {
              $qb = $this->getCollectionQueryBuilder('o');
              $qb
                  ->join('o.zone', 'z')
                  ->join('o.method', 'm')
                  ->andWhere($qb->expr()->isMemberOf(':country', 'z.countries'))
                  ->andWhere($qb->expr()->gte('o.weight', ':weight'))
                  ->andWhere($qb->expr()->eq('o.method', ':method'))
                  ->addOrderBy('o.weight', 'ASC')
                  ->setMaxResults(1)
              ;
  
              $this->findOneByCountryAndMethodAndWeightQuery = $qb->getQuery();
          }
  
          return $this->findOneByCountryAndMethodAndWeightQuery;
      }
docs: Returns the "find one price by country, method and weight" query.
  
  @return \Doctrine\ORM\Query