Question

Quelle est la méthode pour soumettre un horodatage en cours directement sur un INSERT ou un UPDATE? Si je dirigeais SQL régulière, j'utiliser la fonction NOW() pour le champ SQL spécifique sur présentation. Comment puis-je faire avec CakePHP?

$this->Model->save($this->data)
Était-ce utile?

La solution

Dans CakePHP, vous pouvez inclure la fonction NOW() à l'aide DboSource::expression non échappés

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

Ceci est la meilleure façon d'inclure les fonctions de MySQL dans vos sauvegardes.

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

Autres conseils

si vous ajoutez les colonnes créées et modifiées en vous table, ils seront automatiquement avec horodatage en cours. Si le cas est différent -. Dire que vous voulez remplir un champ plus tard que vous souhaitez modifier, en utilisant probablement la solution du edorian est-elle adaptée

Vous pouvez définir champ d'horodatage pour initialiser automatique et mise à jour automatique

timestampfield TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top