Prob pour récupérer donnée modèle

2 views
Skip to first unread message

Louis

unread,
Sep 17, 2008, 7:15:18 PM9/17/08
to Cakephp-fr
Bonsoir,

J'ai un petit problème,e j'ai une table sites dans ma base de données,
je souhaite incrémenté le champ 'out' de 1 pour un enregistrement
donné, le lien pour lancer ma méthode est le suivant : /sites/out/1

Voici ma méthode out :

function out($id = null) {

if (!$id) {
$this->Site->id = $id;
$this->Site->saveField('out', ($this->Site->read('out',$id))
+1,false);
$this->redirect($this->Site->read('url', $id));
}
}


Je ne comprends pas, rien n'est changé en base de données. Est-ce que
ce serait à cause du $validate utilisé pour les ajout/modif standart ?

Merci d'avance

Guillaume

unread,
Sep 18, 2008, 2:30:26 AM9/18/08
to Cakephp-fr
utilise plutôt Model::field pour lire un seul champ parce que
Model::read() te renvoie un tableau contenant la valeur de out et non
la valeur de out.
Par défaut, saveField ne fait pas appel à la validation (le troisième
paramètre est bien à false dans ton code, de toute façon).

Guillaume

Louis

unread,
Sep 22, 2008, 11:53:19 AM9/22/08
to Cakephp-fr
Merci beaucoup pour ta réponse, désolé pour le temps mais je n'ai pas
pu tester avant.

Tout fonctionne, bonne soirée

Louis

Guillaume

unread,
Sep 23, 2008, 1:53:59 AM9/23/08
to Cakephp-fr
de rien.
Au passage, tu dois pouvoir faire quelque chose de plus direct, du
genre :

$this->updateAll(array('Site.out' => '1 + Site.out'),
array('Site.id' => $id));

(à tester mais un petit select en moins !)

Guillaume
Reply all
Reply to author
Forward
0 new messages