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 :

execute update getQuery


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut execute update getQuery
    Bonjour,
    Je tente simplement d'execute un update en base mais je n'y parviens pas.
    Ma fonction côté Controller qui est appelée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      public function updateState(EntityManagerInterface $em, Request $request) {
     
        $id = $request->get("id");
        $valider = $request->get("valider");
        $updatingState = $em->getRepository(AbsencesJustifications::class)->UpdateStateEmargement($em, $id, $valider);
     
        return new Response(
          'There are no jobs in the database', 
           Response::HTTP_OK
        );
      }
    La fonction UpdateStateEmargement() dans mon Repository:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        public function UpdateStateEmargement($em, $id, $valider)
        {
            return $em->createQuery(
            "UPDATE App\Entity\AbsencesJustifications a 
            SET a.valider = '".$valider."'
            WHERE a.id = '".$id."'
            "
            )->getQuery()->getResult();
        }
    Erreur:
    Nom : xxxxx.png
Affichages : 136
Taille : 58,2 Ko
    Je pense que ça viens du "getQuery getResult".
    J'ai trouvé ce genre de syntaxe ici : https://sf2.memosdedev.com/moyens-ex...doctrine2.html
    Une idée? Merci d'avance!

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Par défaut
    bonjour,
    getQuery() n'est pas une méthode de l'objet EntityManager faut virer la virer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     public function UpdateStateEmargement( $id, $valider)
        {  
          // dans un repository on peut directement accéder à l'entiyManynagerInterface grâce à la propriété $ths->_em 
            return $this->_em->createQuery(
               "UPDATE App\Entity\AbsencesJustifications a 
               SET a.valider = :valider
               WHERE a.id = :id "
             )->setParameters([ 'id'  => $id, 'valider'  => $valider ])
             ->getResult();
        }
    =====================================================
    Une toute autre façon assez simpliste de faire une mise à jour sur une entité:
    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
     
     
      public function updateState(EntityManagerInterface $em, Request $request) {
     
        $id = $request->get("id");
        $valider = $request->get("valider");
     
         $absencesJustifications = $em->getRepository(AbsencesJustifications::class)->find($id);
     
         if (!$absencesJustifications) {
            throw $this->createNotFoundException(
                "L'entité $id n'existe pas"
            );
        }
     
       $absencesJustifications->setValider( $valider ); // à condition que setValider() existe dans l'entité
       $em->flush();
     
        return new Response(
          'There are no jobs in the database', 
           Response::HTTP_OK
        );
      }

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut
    Je ne suis pas sûr que l'on puisse faire une meilleure réponse que ce que tu viens de me proposer.
    Merci infiniment! Sujet résolu!

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

Discussions similaires

  1. [pgplsql] Probleme d'execute update dans une fonction
    Par H.ile dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 15/10/2018, 16h03
  2. Réponses: 1
    Dernier message: 08/10/2015, 08h49
  3. Réponses: 3
    Dernier message: 21/02/2012, 17h08
  4. Problème execution Update
    Par KamaFlex dans le forum Langage
    Réponses: 12
    Dernier message: 11/02/2010, 17h02
  5. probleme execute update
    Par Thelo dans le forum JDBC
    Réponses: 2
    Dernier message: 02/12/2007, 22h36

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