私は次のコードを持っています:
/**
* 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
getSingleResult()
メソッドを使用しているため、このエラーが発生しています。結果が1つも見つからない場合は、例外が生成されます。クエリの結果がない場合は、代わりにgetOneOrNullResult()
を使用してNULLを取得できます。
Query#getSingleResult():単一のオブジェクトを取得します。結果に複数のオブジェクトが含まれる場合、NonUniqueResultExceptionがスローされます。結果にオブジェクトが含まれていない場合、NoResultExceptionがスローされます。純粋/混合の区別は適用されません。