Отправка текущего временного метки в CakePhp
-
26-09-2019 - |
Вопрос
Какой метод представить текущий момент времени непосредственно на INSERT
или ан UPDATE
? Если бы я работал обычным SQL, я бы использовал функцию NOW()
Для конкретного поля SQL на представлении. Как бы я сделал это с CakePhp?
$this->Model->save($this->data)
Решение
В CakePhp вы можете включить NOW()
Функция бездна с использованием 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 на автоматическое инициализацию и обновление Auto
timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP