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

Symfony PHP Discussion :

Je ne parviens pas à modifier une donnée


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut Je ne parviens pas à modifier une donnée
    Bonjour à tous,

    J'ai un problème vraiment étrange : je ne parviens pas à modifier une date en base de donnée.
    Dans mon controlleur, je souhaite modifier une données bien particulière (celle qui a un indice 3), pour cela, j'utilise simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                $cle->getVersions()[0]->getLots()[3]->setTantieme(97);
                $cle->getVersions()[0]->getLots()[3]->setDateSuppression(new \DateTime);
                dump($cle);
                $em->flush();
    Jusque la, pas de soucis de compréhension : je modifie Tantieme et DateSuppression. Le problème est que cette dernière ne se met pas à jour. Bien évidemment, j'ai modifié à plusieurs reprises le Tantieme, il passage toujours ; la date, jamais.

    Mon entité est ultra simple, voici la partie pour la date :

    Code : 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
     
        /**
         * @var string
         *
         * @ORM\Column(name="date_suppression", type="datetime", nullable=true)
         */
        protected $date_suppression;
     
        /**
         * Set $date_suppression
         *
         * @param string $date_suppression
         */
        public function setDateSuppression($date_suppression)
        {
            $this->date_suppression = $date_suppression;
            return $this;
        }
     
        /**
         * Get date_suppression
         *
         * @return string 
         */
        public function getDateSuppression()
        {
            return $this->date_supppression;
        }
    Mieux, cette partie est même issue d'un trait qui, sur d'autres entités, ne pose absolument aucun problème.

    Voici le résultat du dump juste avant le flush :
    Nom : Lot1.png
Affichages : 89
Taille : 51,0 Ko

    Comme vous pouvez le voir, la date est bien présente dans le dump, mais ne s'enregistra pas en base de données ...

    Si quelqu'un aurait la moindre piste, ça m'aider vraiment ... merci d'avance

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    j'ai toujours appris qu'il fallait faire un persist avant le flush

    $em->persist($cle);
    $em->flush();

  3. #3
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut
    Citation Envoyé par dukoid Voir le message
    j'ai toujours appris qu'il fallait faire un persist avant le flush

    $em->persist($cle);
    $em->flush();
    Merci beaucoup de ta réponse mais il s'agit d'une modification (le persist n'est donc pas nécessaire). De plus, comme dit plus haut, l'un des deux champs est bien modifié


    Citation Envoyé par headmax Voir le message
    A moins de checker via un profilage mysql pour plus de sensibilité dans ton debug, ça pourrait être un problème de typage niveau structure du champs date voir si tu est ok à ce niveau, checker les logs apaches php ... C'est vital dans ce contexte.

    bonne chance, A+
    Apache ne mentionne aucune erreur. Je suis sur Wampserver, j'essaie de voir comment installer quelque chose pour "suivre" MySQL mais je ne suis pas très à l'aide avec tout ça, contrairement au développement PHP :-S

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Gaylord.P Voir le message
    Je suis sur Wampserver, j'essaie de voir comment installer quelque chose pour "suivre" MySQL mais je ne suis pas très à l'aide avec tout ça, contrairement au développement PHP :-S
    via CLI en activant le profiling

    mysql> set profiling=1;
    ou en le configurant directement dans le fichier de config du server mysql
    my.conf (en précisant les fichiers logs) voir exemple config sur le site officiel

    Installation IDE trackers...
    Gratuits
    http://www.jetprofiler.com/fr/
    http://mysql-tools.com/en/overview-m...for-mysql.html

    Bonne chance, A+.

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    A moins de checker via un profilage mysql pour plus de sensibilité dans ton debug, ça pourrait être un problème de typage niveau structure du champs date voir si tu est ok à ce niveau, checker les logs apaches php ... C'est vital dans ce contexte.

    bonne chance, A+

Discussions similaires

  1. Réponses: 11
    Dernier message: 31/07/2010, 11h08
  2. syntaxe pour modifier une données.
    Par mademoizel dans le forum ASP
    Réponses: 24
    Dernier message: 08/03/2007, 15h18
  3. Réponses: 8
    Dernier message: 31/07/2006, 12h52
  4. ne pas modifier une zone de texte
    Par gailup dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2006, 19h28
  5. [MySQL] Modifier une donnée dans une table
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 02/02/2006, 13h25

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