【发布时间】:2013-02-09 09:54:39
【问题描述】:
我正在尝试优化查询以选择更少的可能值.. 例如,我有一个实体“Anagrafic”,其中包含您的姓名、地址、城市等, 以及我只想更改其中一个字段的表单,例如地址。 我创建了这个查询:
//AnagraficRepository
public function findAddress($Id)
{
$qb = $this->createQueryBuilder('r')
->select('r.address')
->where('r.id = :id')
->setParameter('id', $Id)
->getQuery();
return $qb->getResult();
}
这个查询有问题,因为我没有返回任何值,但是如果我正常进行查询:
//Controller
$entity = $em->getRepository('MyBusinessBundle:Anagrafic')->find($id);
返回正确的值。 如何只选择一列进行查询?
【问题讨论】:
-
我的目标是减小查询的大小,返回单列比30列在性能上要好很多!
-
那你会到处做吗?在这种情况下,我最好将您的桌子与其他几张桌子分开。
-
我认为这是提高性能的好方法!如果你不同意也没关系..
标签: symfony doctrine-orm symfony-2.1