В моем приложении Symfony / Doctrine я бы хотел, чтобы все поля меток времени в моей базе данных извлекались как объекты PEAR Date
вместо строк дат. например Если моя схема
SomeEvent:
columns:
id:
type: integer
primary: true
start: timestamp
end: timestamp
Я бы хотел иметь возможность выполнить запрос Doctrine для извлечения SomeEvent
объектов и иметь $anEvent->getStart()
быть объектом PEAR Date
. Прямо сейчас Doctrine дает мне строки для всех полей меток времени, что в принципе бесполезно. (Я бы также хотел, чтобы сохранение дат работало корректно.)
Какой лучший способ сделать это?
Я исследовал использование слушателя Hydration, но, похоже, мне нужно было зарегистрировать его для каждой таблицы и жестко закодировать имена столбцов, которые я хочу преобразовать. Использование собственного Гидратора не выглядело намного лучше с тех пор, как я утратил способность использовать любой другой метод гидратации ядра без повторения моих дат.
РЕДАКТИРОВАТЬ: Похоже, что Doctrine 2 имеет функцию, которая именно то, что я ищу: Пользовательские типы сопоставления . К сожалению, этот сайт разворачивается на хосте, который не поддерживает PHP 5.3+, поэтому Doctrine 2 отсутствует. (