CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 09-09-2014 17:17:33

jock
Chouquette
Date d'inscription: 09-09-2014
Messages: 1

Addition de valeurs (int) avant sauvegarde

Bonjour à tous,

alors voici mon petit problème, je dois réaliser une espèce de 'feuille de temp' et pour sa je dois ajouter du temps à un dossier.

donc j'ai un champ 'temps' de type int dans ma table, seulement je ne sait pas comment modifier celle-ci en récupérant l'ancienne valeurs et additionner la nouvelle valeur.

exemple :

User Charles ajoute 40 minute (int) au dossier n°110525.

le dossier n°110525 à déjà 35 minute (int).

Donc 35 + 40 à ajouter à mon champ temps, du coup un total de 75 à remplacer sur le champ temps.

De ce que j'ai compris je dois passer par le beforeSave() mais après je ne comprend pas comment je peux faire :$

Merci à tous.

Code: php

  1. App::uses('AppModel', 'Model');
  2.  
  3.  
  4. class Operation extends AppModel {
  5.    public $validate = array(
  6.         'temps' => array(
  7.             'required' => array(
  8.                 'rule' => array('notEmpty'),
  9.                 'message' => 'Un temp est requis'
  10.             )
  11.         ),
  12.         'commentaire' => array(
  13.             'required' => array(
  14.                 'rule' => array('notEmpty'),
  15.                 'message' => 'Un commentaire est requis'
  16.             )
  17.         ),
  18.     );
  19.  
  20.     public $belongsTo = array(
  21.         'Dossiers', 'Users'
  22.     );
  23.  
  24.    
  25. }

Code: php

  1.    public function edit($id = null) {
  2.       if (!$id) {
  3.           throw new NotFoundException(__('Invalid dossier'));
  4.       }
  5.  
  6.       $operation = $this->Operation->findById($id);
  7.       if (!$operation) {
  8.           throw new NotFoundException(__('Invalid dossier'));
  9.       }
  10.  
  11.       if ($this->request->is(array('post', 'put'))) {
  12.           $this->Operation->id = $id;
  13.           if ($this->Operation->save($this->request->data)) {
  14.               $this->Session->setFlash(__('Your dossier has been updated.'));
  15.               return $this->redirect(array('action' => 'index'));
  16.           }
  17.           $this->Session->setFlash(__('Unable to update your dossier.'));
  18.       }
  19.  
  20.       if (!$this->request->data) {
  21.           $this->request->data = $operation;
  22.       }
  23.  
  24.  
  25.       // Génération de la liste de dossiers  :
  26.       $dossiers = $this->Operation->Dossiers->find('list', array('fields' => 'Dossiers.nomDossier'));
  27.       // Génération de la liste de user  :
  28.       $users = $this->Operation->Users->find('list', array('fields' => 'Users.nom'));
  29.     
  30.       // Passage de la liste à la Vue :
  31.       $this->set(compact('dossiers', 'users'));
  32.  
  33.   }

Hors ligne

 

#2 09-09-2014 19:00:34

spout
Cooker
Date d'inscription: 18-12-2010
Messages: 1899

Re: Addition de valeurs (int) avant sauvegarde

Hors ligne

 

Pied de page des forums

Propuls� par FluxBB
Traduction par FluxBB.fr