web-dev-qa-db-fra.com

Symfony2: récupère l'id de l'objet persistant

J'ai deux entités: utilisateur et personne.

Dans l'entité User, j'ai besoin de l'ID de la personne associée: user_id.

Lorsque je crée un nouvel utilisateur, je dois d'abord créer la personne, puis l'utilisateur. Dans l'utilisateur, je dois mettre l'id de la personne correspondante et pour cela j'ai besoin d'obtenir l'id de la personne objet persistant qui est un incrément automatique.

Est-il possible d'obtenir l'id de l'objet après:

$em->persist($person);
$em->flush();

Et comment faire?

L'alternative est de rechercher le plus grand id de la table Person et de prendre celui-ci, mais je pense qu'il devrait y avoir une méthode meilleure et plus facile pour obtenir l'id de l'objet persistant.

En php par exemple, quand j'exécute

$articleID = $_DB->queryRaw((....);

Je reçois l'identifiant comme ça.

29
Miloš

Symfony2 avec Doctrine comme ORM par défaut générera automatiquement un ID après les données stockées dans la base de données. Vous pouvez donc appeler l'ID par ->getId()

$id = $person->getId();
46
Habibillah