Подтвердить что ты не робот

Не найдено ни одного результата для запроса, хотя ожидалась хотя бы одна строка

У меня есть следующий код:

/**
     * Search similar category given a string
     * 
     * @param $searchTerm search similar category
     */
    public function findOneSimilarCategory($searchTerm)
    {
        $query = $this->createQueryBuilder('secondLevelCategory')
                ->select('secondLevelCategory')
                ->where('secondLevelCategory.categoryTitle LIKE :searchTerm')
                ->setParameter('searchTerm', $searchTerm)
                ->getQuery();

        $query->useResultCache(true, self::CACHE_RESULT_LIFETIME, md5(__METHOD__ . serialize('category-search-' . $query->getParameters())));
        $query->useQueryCache(true);
        return $query->getSingleResult();
    }

однако это дает мне ошибку:

"PHP message: PHP Fatal error: Uncaught exception 'Doctrine\ORM\NoResultException' with message 'No result was found for query although at least one row was expected.' in /var/www/Shopious/vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php:649

4b9b3361

Ответ 1

Вы получаете эту ошибку, потому что используете метод getSingleResult(). он генерирует исключение, если он не может найти ни одного результата. вы можете использовать getOneOrNullResult() вместо этого, чтобы получить NULL, если от запроса нет никакого результата.

ЗапроС# getSingleResult(): извлекает один объект. Если результат содержит более одного объекта, генерируется исключение NonUniqueResultException. Если результат не содержит объектов, генерируется исключение NoResultException. Чистое/смешанное различие не применяется.