Doctrine2 插入和检索新的插入 ID

2022-01-03 00:00:00 php doctrine-orm

在 Doctrine2 中使用类似的东西:

In Doctrine2 using some thing like:

$user = array('username' => 'example', 'passsword' => 'changeme');

$conn->insert('users', $user);

然后我将如何获得我刚刚插入的用户的最后一个 ID?如果无法做到这一点,那么您如何生成 id 以便您可以执行以下操作:

How would I then get the last ID of the user I just inserted? If it is not possible to do this then how do you gen a id so that you can the following:

$id = //something here.
$user = array('username' => 'example', 'passsword' => 'changeme', 'id' => $id);
$conn->insert('users', $user);

推荐答案

如果你使用的是 ORM

If you are using the ORM

$em->persist($object);
$em->flush();
$object->getId();

如果您使用的是 DBAL:

if you are using the DBAL:

$conn->lastInsertId();

http://www.Doctrine-project.org/api/dbal/2.5/class-Doctrine.DBAL.Connection.html#_lastInsertId

相关文章