DoctrineORM使用EntityManager-> merge()

时间:2018-03-29 09:33:04

标签: doctrine-orm

doctrine文档中 merge()方法的描述说:

  

将分离实体的状态合并到此EntityManager的持久性上下文中,并返回该实体的托管副本。传递给合并的实体不会与此EntityManager关联/管理。

但我多次看到下一个代码:

$entity = $em->getRepository(...)->findOne($id);
if (null === $entity) {
    $entity = new Entity();
    $em->persist($entity);
} else {
    $entity->setGeneratedAt(new \DateTime());
    $em->merge($entity);
}

$em->flush();

为什么使用 $ em->合并($ entity) $ entity 的返回副本无效, $ entity 已经托管,没有 merge()调用

0 个答案:

没有答案