Symfony2:获取持久化对象的id

时间:2012-10-18 10:16:56

标签: database symfony persistence entity

我有两个实体:用户和人。

在实体用户中,我需要关联人员的ID:user_id。

当我创建新用户时,我必须首先创建此人,然后创建用户。 在用户中,我必须输入相应人员的id,为此我需要获取持久对象人员的id,这是一个自动增量。

是否有可能在以下情况下获取对象的id:

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

我该怎么做?

另一种方法是在表Person中搜索最大的id并采用这个,但我认为应该有一个更好更简单的方法来获取持久化对象的id。

在php中,例如,当我执行

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

我正在获得这样的身份。

1 个答案:

答案 0 :(得分:46)

Symfony2 with Doctrine默认情况下,ORM会在数据存储在数据库后自动生成ID。因此,您可以通过->getId()

来调用ID
$id = $person->getId();