gpt4 book ai didi

Symfony2 选择学说中的一列

转载 作者:行者123 更新时间:2023-12-02 12:16:22 25 4
gpt4 key购买 nike

我正在尝试优化查询,尝试选择更少的可能值​​..例如,我有一个实体“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);

返回正确的值。如何执行仅选择一列的查询?

最佳答案

由于您请求每条记录的单列,因此您必然需要一个数组。话虽如此,您应该将 getResult 替换为 getArrayResult(),因为您无法强制对象水合作用:

$data = $qb->getArrayResult();
Now, you have structure:
$data[0]['address']
$data[1]['address']
....

希望这有帮助。

至于评论中有关性能的讨论,我总体上同意您的观点,即不希望每次都获取所有 30 列。但是,在这种情况下,您应该考虑编写命名查询,以便在数据库发生更改时最大限度地减少影响。

关于Symfony2 选择学说中的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15046916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com