Подписка на RSS

Zend Framework: Как вставить дату в БД?

Изучая Zend Framework столкнулся с тривиальной задачей — нужно вставить дату изменения новости в БД. Столбец с датой в БД был типа TIMESTAMP.
Сначала в модели пробовал сделать так

$data = array('title' => $title,
 'text' => $text,
 'date' => Zend_Date::now()
 );
 $this->getAdapter()->insert($this->_name, $data);

В таблицу вместо даты вставлялось значение по умолчанию('0000-00-00 00:00:00'). Проверив, что возвращает стало ясно, что возвращается не строка, а объект Zend_Date.
Чтобы исправить ошибку я сделал следующее:

$date = Zend_Date::now();
$data = array('title' => $title,
 'text' => $text,
 'date' => $date->toString('YYYY-MM-dd HH:mm:ss')
 );
 $this->getAdapter()->insert($this->_name, $data);

По-моему это самое очевидное решение, но, наверно,  есть более «правильные» способы

Отзывов (3) на «Zend Framework: Как вставить дату в БД?»

  1. Да, можно сделать проще — установить значение по-умолчанию как CURRENT_TIMESTAMP у колонки таблицы.

  2. можно еще 'data' => 'NOW ()'

  3. Большое спасибо. Уже второй день ищу решение даной задачи.

Ваш отзыв