简体   繁体   English

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

[英]Symfony2: Call to undefined method Doctrine\ORM\QueryBuilder::getResult()

With the code: 随着代码:

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

I get an exception: 我得到一个例外:

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

This makes sense. 这是有道理的。 Because QueryBuilder does not change itself, you need to store result of getQuery() invocation : 因为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(); 

Change to: 改成:

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

// or

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM