Envoi horodatage en cours dans CakePHP
-
26-09-2019 - |
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)
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