Pregunta

¿Cuál es el método para presentar una marca de tiempo actual directamente en una INSERT o un UPDATE? Si yo estuviera a cargo SQL normal, me gustaría utilizar la función NOW() para el campo SQL específica sobre la presentación. ¿Cómo iba a hacer eso con CakePHP?

$this->Model->save($this->data)
¿Fue útil?

Solución

En CakePHP, que puede incluir la función sin escapar NOW() utilizando DboSource::expression

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

Esta es la mejor forma de incluir funciones de MySQL en tu dispositivo.

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

Otros consejos

si se agrega las columnas creadas y modificadas en su mesa que se rellena automáticamente con indicación de la hora actual. Si el caso es diferente. - es decir, desea rellenar un campo que más adelante desea modificar, utilizando probablemente la solución del edorian es el mejor

Se puede configurar campo de marca de tiempo para inicializar automático y actualización automática

timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

http://dev.mysql.com/doc/refman/ 5,0 / en / timestamp.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top