Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/03/2011, 13h38   #1
Invité régulier
 
Inscription : janvier 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 47
Points : 7
Points : 7
Par défaut Recuperer lastInsertId apriès insertion

Bonjour

J'ai une question qui me semblait simple...
Mais j'ai tout essayé sans succès
Je veut récupérer l'id créer après insertion dans ma base.

Je crois que j'ai tout essayé :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
---------------------------------
protected function processForm(sfWebRequest $request, sfForm $form)
  {
    $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
    if ($form->isValid())
    {
      $notice = $form->getObject()->isNew() ? 'Inscription crée.' : 'The item was updated successfully.';
 
      try {
        $ newsletterabonnes = $form->save();
        echo  $form->save()->getID() 
        echo '[ ID '. $ newsletterabonnes->getID() .']';
        var_dump(  $ newsletterabonnes->getId()  );
        echo '[ ID '. $ newsletterabonnes->getPrimaryKey().']';
        var_dump(  $ newsletterabonnes->getPrimaryKey()  ); 
		$id = $this->form->getObject()->id;
        echo '[ ID '. $id .']';
        var_dump(  $id  );
---------------------------------
Une idée ???

Pi
pierreHaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 16h16   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
L'id est gérée par l'objet du modèle.

Il n'est disponible dans l'objet qu'après la première sauvegarde.

Depuis un form.
Code :
1
2
3
 
$this->form->save();
$id = $this->form->getObject()->getId();
Code non testé.

Ceci devrait être bon...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/03/2011, 16h28   #3
Invité régulier
 
Inscription : janvier 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 47
Points : 7
Points : 7
Par défaut ca marche

Je pensais pourtant avoir tout essayé

Je m'en suis tiré en faisant un select sur ce que je viens d'enregistrer
mais ç'est vraiment pas optimisé .
Merci.
pierreHaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2011, 17h51   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Lors de l'enregistrement de l'objet, doctrine fait déjà cette manipulation et retourne la valeur à l'objet du modèle.

Regarde les requêtes générées dans le debug.

As-tu essayés mon code ?

Attention a ton select es-tu sur d'avoir toujours le bon enregistrement ?
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 10h05   #5
Invité régulier
 
Inscription : janvier 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 47
Points : 7
Points : 7
Par défaut ça marche

Absolument

ton code marche nickel (Chrome)

Pi
pierreHaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h53.


 
 
 
 
Partenaires

Hébergement Web