Incrémenter un champ
25/09/2008 | Publié dans cakephp
Suite à une question à laquelle j’avais répondu sur le Google Group français consacré à CakePHP, je me suis dit que j’allais ajouter à mon app_model.php la méthode suivante :
-
<?php
-
// dans {app}/app_model.php
-
/**
-
* incrémente d’un le champ $field de l’enregistrement de clef primaire $id
-
*
-
* @var int id clef primaire de l’enregistrement dont on veut incrémenter un champ
-
* @var string field champ du modèle à incrémenter
-
* @var int value valeur de l’incrément, par défaut 1
-
* @return bool
-
* @author Guillaume
-
**/
-
function incField($id = null, $field = null, $value = 1) {
-
}
-
return false;
-
}
-
?>
On l’utilise ainsi simplement dans, par exemple, une méthode view, pour incrémenter un compteur à chaque visualisation d’un contenu, et ce dans n’importe quel modèle :
-
function view($id = null) {
-
if (!$id) {
-
}
-
$this->Link->incField($id, ‘hits’);
-
$this->set(‘link’, $this->Link->read(null, $id));
-
}





