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

Doctrine2 PHP Discussion :

Remplir les champs d'une nouvelle entity avec les valeurs d'une entity récupérée en bdd


Sujet :

Doctrine2 PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut Remplir les champs d'une nouvelle entity avec les valeurs d'une entity récupérée en bdd
    Bonjour,

    Une tit question certainement de débutant mais je ne vois pas comment faire autrement.

    Je récupére une entity via son repository.

    Je veux récupérer les valeurs et les mettre par défaut dans un formType pour créer une nouvelle entity.

    Aujourd'hui je vais quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $templateentity = $em->getRepositoy('entity')->getMonentitybyid(1);
    $NewEntity = New Entity()
    $NewEntity->setName($templateentitty->getName())
    etc ....
    Puis j'injecte NewEntity dans le formType.

    J'aurais
    voulu faire un code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $templateentity = $em->getRepositoy('entity')->getMonentitybyid(1);
    $NewEntity = New Entity($templateenty)
    Et hop c fait dans la réalité ça marche pas.

    Je vous remercie par avance

  2. #2
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 314
    Points : 204
    Points
    204
    Par défaut
    Salut,

    Bon bah puisque j'ai aussi le cerveau embrumé, est-ce que cela fonctionnerait ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $templateentity = $em->getRepositoy('entity')->getMonentitybyid(1);
    $NewEntity = New Entity()
     
    $newEntity == $templateentity.
    Mais évidemment, tu risques d'avoir un pb avec l'id qui est en autoincrémente. Donc il faut le "vider" pour qu'il se régénère en BDD

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    Je te remercie pour l'astuce, je teste et je te dit. Pour l'Id, j'avais déja créer une méthode setId qui me mettais à Null la valeur.

  4. #4
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    En tout cas cette question me conforte dans mon idée.

    Google a toujours la bonne réponse.

    == et === sont des opérateurs de comparaison, mais je m'en doutais déja.

    Du coup, j'ai posé ma question différement à Google, et la réponse est dans la méthode clone pour les objets en général.
    Mais pour Doctrine2, c'est autrement plus facile encore. Pas de SetId(NULL) et des méthodes plus éxotiques.

    Juste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $em = $this->getDoctrine()->getManager();
    $templateentity = $em->getRepositoy('entity')->getMonentitybyid(1);
    $em->detach($templateentity);
    $em->persist($templateentity);
    $em->flush()
    Et magie, pas d'insulte, rien juste une nouvelle entrée avec un Id tout neuf. Sur le cul.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2015, 01h50
  2. [AC-2010] ouvrir une page web avec les champs pré-rempli
    Par bigounet dans le forum Access
    Réponses: 1
    Dernier message: 10/12/2014, 11h22
  3. Ajouter une nouvelle ligne avec les calculs
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2009, 10h19
  4. Réponses: 2
    Dernier message: 01/04/2008, 16h30
  5. Apelle d une fonction js avec la valeur d'une listbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/02/2005, 16h53

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