Возвращать выбранные столбцы из запроса в Doctrine 2 / ZF - PullRequest
0 голосов
/ 11 марта 2012

Я использую Doctrine 2 для управления своей сущностью и Zend_Auth для управления авторизацией. Я могу легко получить полную информацию о пользователе, используя

$user = $this->em->getRepository('Entities\User')->findOneByUsername($username));

Я успешно авторизуюсь и хочу сохранить пользователя, чтобы получить доступ к определенным деталям

$storage = $auth->getStorage();
$storage->write($user);

Это все работает нормально, но я беспокоюсь о сохранении полных пользовательских данных в хранилище Zend_Auth.

Я думал ограничить количество столбцов, возвращаемых findOneByUsername (удаление пароля и другие результаты). Читая документацию Доктрины, это кажется невозможным. Я также посмотрел на queryBuilder (и могу построить подходящий запрос), но опять-таки, похоже, только в состоянии выбрать все.

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

1 Ответ

1 голос
/ 11 марта 2012

Хранение объекта пользователя в сеансе не является хорошей практикой.Вы должны просто сохранить идентификатор пользователя и запросить базу данных, если необходимо, и сохранить объект пользователя в переменной экземпляра.Есть много примеров здесь , как написать пользовательский выбор.Обратите внимание, что тип, возвращаемый $query->getResult(), зависит от оператора select ... если вы не выделите все поля, будет возвращен массив.

...