CakePHP: автоматическое задание даты создания и обновления модели - PullRequest
7 голосов
/ 13 декабря 2010

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

Я думаю оэквивалент * Django DateTimeField auto_now и auto_now_add .

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

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

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

Ответы [ 3 ]

12 голосов
/ 13 декабря 2010

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

В MySQL тип для этих полей должен быть DATETIME (или DATE) и NULLable.

3 голосов
/ 13 декабря 2010

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

0 голосов
/ 07 октября 2015

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

$updateField = array('last_login'=>'now()');
...