Symfony2:调用未定义的方法Doctrine\ORM\QueryBuilder :: getResult()

Lan*_*Man 12 php doctrine symfony doctrine-orm

随着代码:

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

我得到一个例外:

FatalErrorException: Error: Call to undefined method Doctrine\ORM\QueryBuilder::getResult() in C:\xampp\htdocs\buySell\src\BuyAndSell\SiteBundle\Controller\DefaultController.php line
Run Code Online (Sandbox Code Playgroud)

Jov*_*vic 19

这是有道理的.因为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(); 
Run Code Online (Sandbox Code Playgroud)