views_handler_field_date и postgres

Главные вкладки

Аватар пользователя smartchecker smartchecker 17 июня 2011 в 18:23

Есть у меня поле в Postgres базе

request_date      | TIMESTAMP WITHOUT TIME zone | NOT NULL DEFAULT now()

В модуле пишу так и ставлю формат во вьюхе d-m-Y

    $data['journal_of_requests']['request_date'] = array(
        'title' => t('Дата заявки'),
        'help' => t('Дата подачи заявки'),
        'field' => array(
            'handler' => 'views_handler_field_date',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort_date',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_date',
        ),
    );

Выводит 01-01-1970 вместо нормальной даты.

Вот так достаёт правильно

SELECT to_char(j.request_date, 'DD-MM-YYYY') AS request_date  FROM journal_of_requests AS j

Как объяснить views'у что он не прав?

Комментарии

Аватар пользователя penexe penexe 23 июня 2011 в 9:34

стандартный только для дат в UNIX_TIMESTAMP
вам надо свой писать
<?php

class mymodule_views_handler_field_date extends views_handler_field {
function query() {
$this->ensure_my_table();

$this->field_alias = $this->query->add_field(NULL, "to_char($this->table_alias.$this->real_field, 'DD-MM-YYYY')", $this->table_alias .'_'. $this->real_field);
}
}