原则删除 - 更新合并问题



我用教义来做这件事:

$ds = new Entity();
$ds->setId(4);
$ds->setField('Foo');
$em->merge($ds);
$em->flush();

教义执行更新。

但我这样做:

$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 也会尝试插入一个新字段。

注意到我在一对一关系中使用orphanRemoval=true $e

如何在同一刷新中进行删除和更新?

我的问题是,在PUT操作中,我想在同一操作中添加、删除和修改相关字段。我该怎么做?我尝试了很多案例,但我无法解决它。

你可以尝试持久化而不是合并

$em->持久($e);

相关内容

  • 没有找到相关文章