Comment obtenez-vous le dernier identifiant d'insertion dans CakePHP 3.0?
De travail avec CakePHP 3.0 bêta, ressemble à un problème simple, mais j'ai cherché à travers la documentation et ne peut pas trouver quoi que ce soit. Après l'insertion d'un nouvel enregistrement en utilisant $this->Model->save(), j'aimerais obtenir de l'auto_increment primary key ID de l'enregistrement récemment créé.
Avec Un Gâteau 2.x, j'ai pu faire:
$record_id=$this->ModelName->id;
ou
$record_id=$this->ModelName->getLastInsertID();
Cependant, aucune de ces semble fonctionner dans CakePHP 3.0.
Grâce
source d'informationauteur ben921
Vous devez vous connecter pour publier un commentaire.
Enfin trouvé la réponse, si quelqu'un d'autre s'exécute dans ce faire:
à cakephp3.X j'ai Trouvé ceci:
http://book.cakephp.org/3.0/en/orm/saving-data.html#inserting-data
Vous pouvez résoudre ce problème de la manière suivante.
Pour CakePHP 3.x
Pour CakePHP 2.x
Ces travaux pour le modèle ORM.
Dans CakePHP 3.0
NOTE Étapes est le nom de la table
J'ai eu du mal avec ce pour un bon moment avant de la faire fonctionner. La méthode save sera mise à jour de l'entité avec le dernier id inséré tant que l'id de l'entité n'est pas déjà défini. Si vous créez un nouvel enregistrement et l'id de l'entité est mise à zéro de la méthode d'enregistrement ne sera pas mise à jour elle alors assurez-vous que l'id de l'entité n'est pas réglé:
Cela devrait fonctionner:
C'est la seule façon que j'ai été en mesure d'obtenir que cela fonctionne correctement: