Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-06-2010 14:49:49

magmus
Nouveau membre
Date d'inscription: 16-05-2010
Messages: 8

[Résolu] problème avec lastInsertId

Bonjour,

Voila je tente d'ajouter des données à ma base de donnée et de récupérer par la même occasion le dernier id du champs que je viens d'ajouter.
Mon problème proviens du fait que le lastInsertId prend une valeur = 0 lorsque je l'appel...
Je ne comprend pas d'ou proviens ce problème

Voila le code source

Code:

public function newtopic1($data, $idCreator, $forumId, $type)
    {
        $insertData = array(
                        'titleTopic'    => $data['title'],
                        'creatorTopic'    => $idCreator,
                        'vuTopic'        => 1,
                        'timeTopic'        => time(),
                        'genreTopic'    => $type,
                        'lastPostTopic'    => 0,
                        'postTopic'        => 0,
        );
        $this->insert($insertData);
        return $this->getAdapter()->lastInsertId();
    }

Cette fonction retourne 0 lorsque je l'exécute cependant toutes les valeurs sont bien ajouté dans la table avec un id bien différent de celui égale à 0.

Dernière modification par magmus (23-06-2010 15:15:53)

Hors ligne

 

#2 23-06-2010 14:59:20

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu] problème avec lastInsertId

Je dirais :

Code:

    public function newtopic1($data, $idCreator, $forumId, $type)
    {
        $insertData = array(
                        'titleTopic'    => $data['title'],
                        'creatorTopic'    => $idCreator,
                        'vuTopic'        => 1,
                        'timeTopic'        => time(),
                        'genreTopic'    => $type,
                        'lastPostTopic'    => 0,
                        'postTopic'        => 0,
        );
        return $this->insert($insertData);
    }

En considérant que newtopic1 étend Zend_Db_Table_Abstract.


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 23-06-2010 15:15:40

magmus
Nouveau membre
Date d'inscription: 16-05-2010
Messages: 8

Re: [Résolu] problème avec lastInsertId

C'est niquel ça marche enfin smile

Je vais pouvoir laisser mes cheveux tranquil m'intenant ^^

Hors ligne

 

#4 23-06-2010 15:15:54

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Résolu] problème avec lastInsertId

le plus simple est de passer par Zend_Db_Table
tu dérive la classe pour en faire une classe à toi par exemple
Topic_Table
(il faut lui spécifier sur quelle table tu travaille)
du définie une classe d'objet Topic_Table_Row associé à ta classe table
que tu rempile avec tes valeurs
sur cet objet tu appel insert

et au joie bonheur après l'insert la clef primaire de ton objet contient la valeur de l'id
mieux si tu n'avait pas renseigné certain champs ils sont renseignés avec les valeurs par défaut

A+JYT

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages