IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Modifiéer la valeur d'un attribut après patchEntity


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club Avatar de gautier1er
    Homme Profil pro
    Developpeur C et PHP
    Inscrit en
    Août 2017
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Developpeur C et PHP

    Informations forums :
    Inscription : Août 2017
    Messages : 61
    Points : 32
    Points
    32
    Par défaut Modifiéer la valeur d'un attribut après patchEntity
    j'ai un formulaire qui comprend les champs: date_debut , duree et date_fin (type hidden)
    dont j'aimerai que la date_fin soit calculer automatiquement apres que le formulaire a été soumis
    (les champs date_debut et duree sont renseignés à partir du formulaire)

    voici le formulaire:
    Code cakephp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
     <?= $this->Form->create( $abonnement ); ?>
     
    <?= $this->Form->control('debut_periode', 
     
    ['minYear' => Date('Y') ,'monthNames' => true,
     'empty' => [
     
    'day' => 'jour',
     
    'year' => 'année',
     
    'month' => 'mois',
     
    'hour' => 'heure',
     
    'minute'=> 'min'
                               ] 
     
                     ]);
     
    ?>
    <?= $this->Form->control('fin_periode', ['type'=>'hidden'] );?>
     
    durée:<?= $this->Form->select('duree',[ '+1'=>'1' ,'+2'=>'2','+3'=>'3','+4'=>'4' ]); ?>
     
    <?= $this->Form->select('unite',[ 'hours'=>'heure(s) ' , 'days'=>'jour(s) ' , 'weeks'=>'semaine(s) ' ,'months'=>'mois']); ?>
    <?= $this->Form->button(__('enregistrer')); ?>
     
    <?= $this->Form->end(); ?>
    Cela fonctionne bien mais le problème se situe au niveau de l'action add du contrôleur ( $abonnement->fin_periode = $temp4 ;
    )
    voici l'action add de mon controller

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
       
    
      public function add( )
       {
        $abonnement = $this->Abonnements->newEntity();
    
          if ($this->request->is('post'))
          {
                       //on recupere la date debut 
    
                  $temp1 = Chronos::create( $this->request->getData('debut_periode'));
    
    
                      //on recupere la durée de reservation 
                      $temp2 = $this->request->getData('duree');
      
                     $temp2 .= $this->request->getData('unite');
    
                       //conversion en strings
    
                        $temp3 = (string)$temp2; 
                      //on additionne la durée temp3 sur la date debut 
    
                       $temp4 = $temp1->parse( $temp3 );
    
                        $abonnement = $this->Abonnements->patchEntity( $abonnement , $this->request->getData() );
    
                         $abonnement->fin_periode = $temp4 ;
    
                     if ($this->Abonnements->save( $abonnement )) 
                    {
                       $this->Flash->success(__('Votre abonnement a été crée.'));
    
                      return $this->redirect(['action' => 'index']);
    
                                }
                                else
                                {
    
                                      $this->Flash->error(__('Impossible de créer votre abonnement.'));
    
                                  }
                      }
          $this->set('abonnement', $abonnement );
      }
    j'obtiens : INSERT INTO abonnements (fin_periode) VALUES (:c0) comme erreur.
    Je m'excuse si le code est déformé car c'est via un smart phone .

    Merci

  2. #2
    Nouveau membre du Club Avatar de gautier1er
    Homme Profil pro
    Developpeur C et PHP
    Inscrit en
    Août 2017
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Developpeur C et PHP

    Informations forums :
    Inscription : Août 2017
    Messages : 61
    Points : 32
    Points
    32
    Par défaut
    Il n'y a personne pour m'aider ? ou bien j'ai mal formulé ma question ?

Discussions similaires

  1. [2008R2] Modifier la valeur d'un attribut d'une dimension
    Par samus535 dans le forum SSAS
    Réponses: 0
    Dernier message: 10/11/2011, 16h17
  2. modifier la valeur d'un attribut
    Par el_harrathi dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 07/06/2011, 17h11
  3. [Lazarus] Modifier la valeur d'un attribut
    Par Marco88 dans le forum Lazarus
    Réponses: 2
    Dernier message: 22/05/2009, 14h56
  4. modifier la valeur d'un attribut
    Par gentil dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2007, 20h39
  5. modifier la valeur d'un attribut xml
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 13/12/2005, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo