Отправка текущей метки времени в CakePHP

Каков метод отправки текущей временной метки непосредственно на INSERT или UPDATE ? Если бы я работал с обычным SQL, я бы использовал функцию NOW() для конкретного поля SQL при отправке. Как мне сделать это с помощью CakePHP?

 $this->Model->save($this->data) 

Related of "Отправка текущей метки времени в CakePHP"

В CakePHP вы можете включить функцию NOW() DboSource::expression с помощью DboSource::expression

 $this->data['SomeModel']['your_datetime_field'] = DboSource::expression('NOW()'); $this->Model->save($this->data); 

Это предпочтительный способ включения функций MySQL в ваши сэйвы.

http://api.cakephp.org/2.3/class-DboSource.html#_expression

если вы добавите созданные и измененные столбцы в свою таблицу, они будут автоматически заполнены текущей меткой времени. Если случай отличается – то есть вы хотите заполнить поле, которое позже вы хотите изменить, возможно, лучше использовать решение edorian.

Вы можете установить поле timestamp для автоматической инициализации и автоматического обновления

 timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

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

 App::uses('DboSource', 'Model/DataSource'); 

, который должен быть добавлен в голову источника (было бы лучше, как комментарий, но не могу комментировать) 🙂