Вопрос

Какой метод представить текущий момент времени непосредственно на 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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top