Подтвердить что ты не робот

Symfony2: получить идентификатор сохраненного объекта

У меня есть два объекта: Пользователь и Лицо.

В объекте User мне нужен идентификатор связанного пользователя: user_id.

Когда я создаю нового пользователя, мне нужно сначала создать человека, а затем пользователя. Для пользователя я должен поместить идентификатор соответствующего человека, и для этого мне нужно получить идентификатор лица с сохраненным объектом, который является автоматическим приращением.

Можно ли получить идентификатор объекта после:

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

И как я могу это сделать?

Альтернативой является поиск самого большого идентификатора в таблице Person и принятие этого, но я думаю, что должен быть лучший и простой способ получить идентификатор сохраняемого объекта.

В php, например, при выполнении

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

Я получаю такой идентификатор.

4b9b3361

Ответ 1

Symfony2 с Doctrine по умолчанию ORM автоматически генерирует идентификатор после данных, хранящихся в базе данных. Таким образом, вы можете вызывать идентификатор ->getId()

$id = $person->getId();