我这样做是为了学说:
$ds = new Entity();
$ds->setId(4);
$ds->setField('Foo');
$em->merge($ds);
$em->flush();
Doctrine执行更新。
但我这样做:
$e = $em->find(1);
$r = $e->getRelatedCollection()->get(0);
$e->getRelatedCollection()->remove(0);
$e->getRelatedCollection()->remove(1);
$a = new TypeRelated();
$a->setId($r->getId());
$a->setField("bar");
$e->getRelatedCollection()->set(0, $a);
$a->setInverse($e);
$em->merge($e);
$em->flush();
Doctrine执行两次删除,但不执行任何更新。为什么呢?
我尝试了一些案例,即即使分离的实体具有Id,Doctrine也会尝试插入新字段。
注意到我在$ e OneToMany关系中使用了orphanRemoval = true。
如何在同一个同花顺中删除和更新?
我的问题是在PUT操作中我想在同一操作中添加,删除和修改相关字段。我怎样才能做到这一点? 我尝试了很多案例,但我无法解决。
答案 0 :(得分:-1)
你可以尝试坚持合并
$ EM->坚持($ E);