установка 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?
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
.