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 :

[Symfony 2.8] Les entités ne se persistent pas


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut [Symfony 2.8] Les entités ne se persistent pas
    Bonjour à tous.

    J'ai un soucis sur un site que je developpe.

    J'ai une entité Machine, reliée a une entité PlanMaintenance elle même relié a une entité Intervention.

    Machine => OneToMany =>PlanMaintenance=>ManyToMany=>Intervention

    J'ai une méthode preUpdate comme ceci :
    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
    /**
     * @ORM\PreUpdate()
     */
    public function verifRdv() {
        $interventions = $this->getPlanMaintenance()->getInterventions();
     
        foreach ($interventions as $intervention){
            $hAlerte = $intervention->getHAlerte();
            $hMaintenance = $intervention->getHMaintenance();
            if (($hAlerte <= $this->getHTotal()) && ($hMaintenance >= $this->getHTotal()) ){
                $this->setRdv(true);
                $intervention->setHAlerte($hAlerte + $hMaintenance);
                $intervention->setHMaintenance($hMaintenance + $hMaintenance);
                dump("maintenance");
                dump($intervention);
            }else{
                $this->setRdv(false);
            }
     
        }
     
    }
    Le setRdv() fonctionne parfaitement mais les set des interventions ne sont pas prise en compte. Je n'ai aucune erreur et si je dump $intervention en fin de boucle il me mets bien les valeurs à jour.

    Des idées ?

  2. #2
    Membre Expert Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Par défaut
    Salut,

    Un persist ne sert que sur un objet non managé par l'UnitOfWork : soit parce qu'il est nouveau, soit parce qu'il a été détaché.
    Seul le flush est responsable de l'enregistrement des modifications de ton objet en BDD.

    Dans le cas ou tu crées un nouvel objet avec une collection, le persist va être cascadé si tu l'as défini au niveau de l'ORM : par contre le flush ne l'est pas.
    Donc si tu flush uniquement ton entité, les modifications sur la collection ne seront pas prises en compte.
    Si tu flush de manière globale (sans param) et que les éléments de ta collection ne sont pas associés à ton entité, c'est qu'il te manque sans doute un set de l'objet parent comme dans l'exemple du lien OC.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut
    Je réponds un peu en retard, j'ai été bien prit.

    Tu avais raison, j'ai du modifié un peu tout ça. Bref, un grand merci pour les explications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Les entités (tables) sous Symfony 2
    Par roster dans le forum Symfony
    Réponses: 55
    Dernier message: 15/05/2011, 22h31
  2. Réponses: 1
    Dernier message: 06/03/2007, 09h33
  3. Réponses: 6
    Dernier message: 16/02/2007, 20h33
  4. Réponses: 2
    Dernier message: 25/05/2006, 18h34
  5. Réponses: 9
    Dernier message: 13/04/2006, 11h40

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