Как удалить заполнители QueryBuilder в Doctrine2? - PullRequest
0 голосов
/ 14 ноября 2011

Предположим, у меня есть следующий фрагмент кода:

        $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" ко всем объектам результатов, как указано здесь , что нежелательно.

Существуют ли какие-либо собственные методы / решения для доктрины, позволяющие удалить эти заполнители из результатов?

1 Ответ

1 голос
/ 15 ноября 2011

Это не появляется в вашем коде, но я предполагаю, что вы используете getScalarResult () для выполнения вашего запроса.По моему опыту, Doctrine только добавляет префикс псевдонима, когда вы используете скалярную гидратацию для возврата результатов, как объяснено здесь .Если вы используете один из методов гидратации объекта, префикс должен исчезнуть.Методы гидратации объекта Doctrine - это getResult (), getSingleResult () и getArrayResult ().

Какой режим гидратации вы используете, и переключение его на один из перечисленных методов решает вашу проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...