【发布时间】:2014-01-25 04:54:27
【问题描述】:
我有一个实体,如果它不存在,我需要保留它,如果它存在,我需要更新/替换。
我不想使用->findBy() 查找并执行更新或新操作。
使用 Doctrine1,您可以简单地创建一个新实体并使用方法 ->replace(); 而不是 ->save();。我有点需要使用 EntityManager 的 Doctrine2 的这种行为。
<?php
$user = new User;
$user->setName('Mr.Right');
$em->persist($user);
$em->flush();
来自http://docs.doctrine-project.org/en/latest/reference/working-with-objects.html#persisting-entities:
如果 X 是一个预先存在的托管实体,它会被持久化忽略 操作。
我需要替换/更新而不是忽略预先存在的托管实体, 有人知道吗?
【问题讨论】:
-
你找到答案了吗?
-
@PavelDubinin 不,但老实说,我很久以前就放弃寻找解决方案了
标签: php doctrine-orm entitymanager