36

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

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

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

之后是否可以获取对象的ID:

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

我该怎么做?

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

例如,在 php 中,当我执行

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

我得到这样的身份证。

4

1 回答 1

54

使用 Doctrine作为默认 ORM 的 Symfony2 将在数据存储到数据库后自动生成一个 ID。所以你可以通过->getId()

$id = $person->getId();
于 2012-10-18T10:20:06.527 回答