CakePHP: автоматическая установка дат создания и обновления модели


Есть ли способ настроить модели CakePHP для автоматической установки временных меток, таких как created_on и updated_on, при сохранении объекта?

Я думаю об эквиваленте параметров поля даты и времени Django auto_now и auto_now_add.

Я слышал, что в некоторых системах это спорная практика, но я все равно хочу это сделать.

Если вы не можете сделать это, обычно ли люди устанавливают временные метки в Обработчики beforeSave(), возможно, проверив, содержат ли данные модели поле идентификатора, и соответствующим образом настроив данные создания?

Спасибо и приношу извинения, если я пропустил соответствующую часть в документах.

Author: Mikesname, 2010-12-13

3 answers

Да, CakePHP делает это автоматически для полей created и modified.

В MySQL тип этих полей должен быть DATETIME (или ДАТА) и иметь значение NULL.

 12
Author: RabidFire, 2010-12-13 02:40:29

Если вы назовете свои поля created и modified и сделаете их типа datetime, Cake обработает все остальное. http://book.cakephp.org/complete/1000/Models#created-and-modified-1015

 3
Author: deceze, 2010-12-13 02:39:16

На самом деле, использовать "сейчас()" для обновления даты и времени в mysql просто и легко.

$updateField = array('last_login'=>'now()');
 0
Author: Jack Feng, 2015-10-07 15:24:52