Есть ли способ для Doctrine HYDRATE_ARRAY сохранить тип данных? - PullRequest
2 голосов
/ 02 февраля 2011

Я извлекаю некоторые данные, используя Doctrine 1.2 ORM, из базы данных проекта Symfony 1.4. В настоящее время используется простой запрос и возвращается с:

Doctrine :: HYDRATE_ARRAY

Есть ли способ сохранить типы данных, используя этот метод? Все типы данных приводятся к строке вместо того, чтобы поддерживать соответствующие int, float и т. Д. В зависимости от типа столбца базы данных ...

Я бы предположил, что на данном этапе доктрина будет достаточно развита, чтобы поддерживать целостность типов данных в случае необходимости.

1 Ответ

0 голосов
/ 08 июня 2011

С Doctrine docs :

Вы всегда должны использовать гидратацию массива, когда вам нужны данные только для целей доступа, тогда как вы должны использовать гидратацию записей, когда вам нужноизменить выбранные данные.

Поэтому следующий текст, который я добавлю, НЕ является хорошей идеей, но может ответить на ваш вопрос.

Доктрина дает вам сериализацию или десериализацию (ВЫ ДОЛЖНЫ ИСПОЛЬЗОВАТЬ ЭТО, СМ. ПРИМЕР), чтобы получить объекты.например, вы выбираете массив пользователей, для каждого из которых вы можете запустить:

$user = unserialize($string);

, где string - сериализованный объект или, в равной степени, один из элементов результата fecthArray ()

...