让我们假设我有以下代码:
$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,这是不可取的。
是否有任何原生理论方法/解决方案可以从结果中删除这些占位符?
发布于 2011-11-15 05:24:18
它不会出现在您的代码中,但我猜您正在使用getScalarResult()来执行查询。根据我的经验,Doctrine只有在你使用标量水合来返回结果时才会添加别名前缀,正如here所解释的那样。如果您使用对象水合方法之一,前缀应该会消失。Doctrine的对象合并方法是getResult()、getSingleResult()和getArrayResult()。
你使用的是哪种补水模式,切换到上面的一种方法能解决你的问题吗?
https://stackoverflow.com/questions/8126997
复制相似问题