我有两个实体:用户和人。
在实体用户中,我需要关联人员的ID:user_id。
当我创建新用户时,我必须首先创建此人,然后创建用户。 在用户中,我必须输入相应人员的id,为此我需要获取持久对象人员的id,这是一个自动增量。
是否有可能在以下情况下获取对象的id:
$em->persist($person);
$em->flush();
我该怎么做?
另一种方法是在表Person中搜索最大的id并采用这个,但我认为应该有一个更好更简单的方法来获取持久化对象的id。
在php中,例如,当我执行
时$articleID = $_DB->queryRaw((....);
我正在获得这样的身份。
答案 0 :(得分:46)
Symfony2 with Doctrine默认情况下,ORM会在数据存储在数据库后自动生成ID。因此,您可以通过->getId()
$id = $person->getId();