web-dev-qa-db-ja.com

Symfony2:未定義のメソッドDoctrine \ ORM \ QueryBuilder :: getResult()の呼び出し

コードで:

$qb = $entityManager->createQueryBuilder();
$qb->select('cat')->from('BuyAndSellSiteBundle:Category ', 'cat');
$qb->getQuery();
$a =$qb->getResult();

例外が発生します:

FatalErrorException: Error: Call to undefined method Doctrine\ORM\QueryBuilder::getResult() in C:\xampp\htdocs\buySell\src\BuyAndSell\SiteBundle\Controller\DefaultController.php line
12
LanMan

意味あり。 QueryBuilderはそれ自体を変更しないため、getQuery()呼び出しの結果を保存する必要があります。

$queryBuilder = $entityManager->createQueryBuilder();
$queryBuilder->select('cat')->from('BuyAndSellSiteBundle:Category ', 'cat');

// get the Query from the QueryBuilder here ...
$query = $qb->getQuery();

// ... then call getResult() on the Query (not on the QueryBuilder)
$result = $query->getResult(); 
19
Jovan Perovic

への変更:

$a = $qb->getQuery()->getResult();

// or

$q = $qb->getQuery();
$a = $q->getResult();
4
voodoo417