首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Doctrine2中删除QueryBuilder占位符?

如何在Doctrine2中删除QueryBuilder占位符?
EN

Stack Overflow用户
提问于 2011-11-15 03:33:01
回答 1查看 900关注 0票数 1

让我们假设我有以下代码:

代码语言:javascript
复制
        $qb = $this->em->createQueryBuilder();
        $qb->add('select', 'a')
            ->add('from', 'Entities\Patientprofile a')
            ->add('where', 'a.userid=?1')
            ->setParameter(1, $patientId);
        ;
        $query = $qb->getQuery();
        $patientProfile = $query->getResult(3);

Doctrine将"u“前缀添加到所有结果实体,如所述的here,这是不可取的。

是否有任何原生理论方法/解决方案可以从结果中删除这些占位符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-15 05:24:18

它不会出现在您的代码中,但我猜您正在使用getScalarResult()来执行查询。根据我的经验,Doctrine只有在你使用标量水合来返回结果时才会添加别名前缀,正如here所解释的那样。如果您使用对象水合方法之一,前缀应该会消失。Doctrine的对象合并方法是getResult()、getSingleResult()和getArrayResult()。

你使用的是哪种补水模式,切换到上面的一种方法能解决你的问题吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8126997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档