Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
J'aimerais récupérer la valeur générée par mySql d'une colonne de clé primaire auto incrémentée.
voilà ce que j'ai trouvé dans le manuel :
Si votre table a été définie avec une clé auto-incrémentée, alors vous pouvez appeler la méthode lastInsertId() après une opération d'insertion. Cette méthode retourne la valeur auto-incrémentée, générée dans le cadre de la connexion au SGBD.
et le code qui va avec :
$db->insert('bugs', $data);
$id = $db->lastInsertId();Le seul problème, c'est que pour les insert, j'utilise des Rows.
Mon modèle :
class Client extends Zend_Db_Table_Abstract{
protected $_name = 'CLIENTS';
protected $_primary ='NUMERO';
protected $_referenceMap = array(
rLocalite'=>array(
'columns'=>'NUM_LOCALITE',
'refTableClass'=>'Localite',
'refColumns'=>'NUMERO'));Mon Insert :
$newClient = new Client(array('db'=>'my_db'));
$rowClient = $newClient->createRow();
$rowClient->NUMERO = $form->getValue('idClient');
$rowClient->Nom = $form->getValue('nom');
$rowClient->Save();Le problème c'est que je ne peux pas faire un $rowClient->lastInsertId();
Dernière modification par fredouille312 (29-03-2009 22:08:09)
Hors ligne
mais tu peut faire :
$newClient = new Client(array('db'=>'my_db'));
$rowClient = $newClient->createRow();
$rowClient->NUMERO = $form->getValue('idClient');
$rowClient->Nom = $form->getValue('nom');
$rowClient->Save();
$id = $rowClient->id ---------> "id est ta clé primaire dans ta table"Hors ligne
C'est logique, j'y avais pas pensé merci.
Hors ligne