获取最后一个插入ID与教条2?
我怎样才能得到最后的插入ID与教条2 ORM? 我没有在教条的文件中find这个,这甚至有可能吗?
我不得不使用这个刷新后得到最后一个插入ID:
$em->persist($user); $em->flush(); $user->getId();
调用实体pipe理器的持久化方法后,可以访问该ID。
$widgetEntity = new WidgetEntity(); $entityManager->persist($widgetEntity); $entityManager->flush(); $widgetEntity->getId();
你需要刷新才能得到这个ID。
语法错误修复:在$ entityManager-> flush()被调用后添加了分号。
如果您不使用实体,而是使用Native SQL,则可能需要获取最后插入的ID,如下所示:
$entityManager->getConnection()->lastInsertId()
对于具有PostgreSQL等序列的数据库,请不要提供序列名作为lastInsertId
方法的第一个参数。
$entityManager->getConnection()->lastInsertId($seqName = 'my_sequence')
欲了解更多信息,请看看这里和这里的 GitHub上的代码。
调用flush()可能会添加大量新实体,所以实际上并没有“lastInsertId”的概念。 然而,Doctrine会在生成标识字段时填充标识字段,因此在调用flush之后访问id字段将始终包含新“持久”实体的标识。
有点迟了回答这个问题。 但,
如果它是一个MySQL数据库
如果在数据库和表定义中定义了AUTO_INCREMENT
则$doctrine_record_object->id
将会工作。