即使我恢复了项目,项目也会在刷新时被删除

Item gets deleted on flush even when I restore it

提问人:Bird87 ZA 提问时间:6/26/2023 更新时间:6/26/2023 访问量:11

问:

我有以下代码用于调试:

$localResource = $xResource->getLocalResource();
dump($localResource->getAllOptions()->toArray());

$xProvider->updateLocalResource($xResource, $localResource, $handler);
dump($localResource->getAllOptions()->toArray());

if ($flush) {
    $this->em->flush();
}
dump($localResource->getAllOptions()->toArray());
die;

第一个显示本地资源,在本例中,该资源当前已被删除,时间戳也是如此。dumpdeletedAt

第二个显示还原后的本地资源。 在这个阶段是 .dumpdeletedAtnull

第三个显示刷新后的本地资源。 然后是代码运行时的当前时间戳。此时间戳与第一个 中的时间戳不同。dumpdeletedAtdump

我以为它可能会在某个地方级联删除,但似乎不是。我也检查过事件,但没有运气。

这是我进行还原的代码:

$extra = $extrasRepo->findOneBy(['externalId' => $id, 'boat' => $localResource->getId()]);

if (empty($extra)) {
    $extra = new BoatExtra();
    $extra->setExternalId($id);
} else {
    $extra->restore();
    $extra->getAsset()->restore();
}

我还有什么遗漏的吗?为什么它会 - 通过刷新调用 - 重新删除该项目。

symfony flush symfony-2.8

评论


答: 暂无答案