установка propel по умолчанию в формат даты getDate ("Y-m-d"), чтобы лучше работать с zend toArray()


Мой запрос возвращает объект с полем даты

$obj = ObjectQuery::create()->findPK(11);
  • var_dump($obj) показывает мне поле даты как yyyy-mm-dd, как в базе данных
  • $obj->getThedate(); изменяет формат на mm/dd/yy, чего я не хочу, чтобы произошло
  • $obj->getThedate("Y-m-d"); дает мне тот же формат в базе данных yyyy-mm-dd

Поэтому, чтобы получить данные в том же формате, в котором они хранятся в базе данных, мне нужно установить формат, когда я получаю это конкретное поле даты, например, в третьей строке.

Проблема дело в том, что я не читаю поле даты отдельно. Я беру весь $obj целиком и превращаю его в массив, используя Zend toArray(), поэтому у меня нет контроля над тем, как toArray() считывает поле даты. Есть ли способ настроить Propel для доставки в формате ("Y-m-d") по умолчанию? Может быть, что-то в настройках конфигурации prople?

Author: jblue, 2011-02-23

1 answers

Формат по умолчанию, используемый Propel для временных столбцов, может быть настроен с помощью трех параметров конфигурации сборки:

propel.defaultTimeStampFormat = {Y-m-d H:i:s}|string
propel.defaultTimeFormat = {%X}|string
propel.defaultDateFormat = {%x}|string

Как вы можете видеть, формат по умолчанию для дат - %x, который является предпочтительным представлением даты на основе вашего языка . Вы должны изменить его на %Y-%m-%d или сокращенное %F.

 9
Author: Jan Fabry, 2012-12-18 06:33:55