symfony - 检查实体是否已经持久化到 Symfony2 中的 EntityManager

标签 symfony doctrine entitymanager

在 Symfony2 中,是否可以检查特定实体是否已经持久化并且存在于 EntityManager 中?

我正在处理一些数据导入,有些记录可能是完全重复的。我正在做批量插入,即只有在保留一定数量的实体后才调用 flush() 。因此,我需要检查我尝试保留的实体是否已经不在 EntityManager 中。

最佳答案

是的,您应该使用工作单元 http://phpdox.de/demo/Symfony2/classes/Doctrine_ORM_UnitOfWork.xhtml#isEntityScheduled

$uow = $this->getDoctrine()->getManager()->getUnitOfWork()
$exist =  $uow->isEntityScheduled(  $entity );

关于symfony - 检查实体是否已经持久化到 Symfony2 中的 EntityManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24776028/

相关文章:

php - 如何使用symfony和doctrine处理巨大的选择查询?

php - 从 pgadmin 和 doctrine ORM 调用存储过程时的不同结果

java - 使用 NamedQuery 进行内连接?

java - JPQL 和实体数据

postgresql - Symfony DQL Postgresql 组不工作

php - Symfony 2 项目中的双向身份验证

Symfony2 视频流

symfony - 如何在自定义类中获取服务(依赖项)

Doctrine Query Builder - 如何选择多对多关系?

java - 使用entityManager加载集合