gpt4 book ai didi

php - 如何在 Doctrine 2 中获取类而不是数组

转载 作者:IT王子 更新时间:2023-10-28 23:57:28 28 4
gpt4 key购买 nike

我可以使用这个结构从数据库中获取我的数据:

$user = $this->getDoctrine()
->getRepository('AcmeDemoBundle:Emails')
->find(8081);

当我这样做时,我能够像这样获取我的数据:

$user->getColumnNameHere();

基本上我可以使用实体类。

但如果我想使用 QueryBuilder 而不是 find,我只会得到关联数组。

$product->createQueryBuilder('p')
->setMaxResults(1)
->where('p.idx = :idx')
->select('p.columnNameHere')
->setParameter('idx', 8081)
->orderBy('p.idx', 'DESC')
->getQuery();
$product = $query->getResult();

$product 以数组形式返回。是否可以使用实体管理器类获取它?如果是,如何?

我挖掘了文档,但文档中似乎不可能或不存在,或者我只是瞎了:)

最佳答案

是的,你可以,通常使用:

$repository
->createQueryBuilder('p')
->getQuery()
->execute()
;

这应该返回一个实体数组。

如果您想获得单个实体结果,请使用 getSingleResultgetOneOrNullResult:

$repository
->createQueryBuilder('p')
->getQuery()
->getOneOrNullResult()
;

警告:这些方法可能会抛出 NonUniqueResultException

编辑: 好的,所以问题是关于部分对象的:http://docs.doctrine-project.org/en/latest/reference/partial-objects.html

关于php - 如何在 Doctrine 2 中获取类而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10482085/

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