2017-10-18 4 views
0

s'il vous plaît aider à résoudre ce problème.yii2 obtenir le dernier numéro d'identification

Je veux obtenir le numéro d'identification après avoir enregistré. J'utilise cette méthode:

Yii::$app->db->getLastInsertID() 

mais tout ce que j'ai été le deuxième au dernier numéro d'identification.

Ex .: après avoir enregistré le dernier numéro d'identification doit 115, mais je suis arrivé 114. Je l'utilise comme:

if ($model->save()){ 
      Yii::$app->session['schedviewid'] = Yii::$app->db->getLastInsertID(); 
} 

S'il vous plaît aider. Merci.

Répondre

0

rafraichir après avoir sauvé

utilisation $model->refresh(); après sauvegarde()

+0

je l'ai utilisé comme celui-ci 'if ($ model-> save()) { $ model-> refresh(); Yii :: $ app-> session ['schedid'] = $ model-> id; Mais mais je reçois toujours l'ID précédent – top

+1

si vous enregistrez un modèle qui a déjà été créé (mise à jour), l'ID ne changera pas. Si c'est un nouveau modèle que vous sauvegardez, vous pouvez simplement utiliser $ model-> id à tout moment après $ model-> save(). Si, pour une raison ou une autre, vous voulez changer l'identifiant, vous devez supprimer le modèle, puis l'enregistrer. – natral

2

Après avoir enregistré, vous pouvez utiliser $ model-> id;