gpt4 book ai didi

mongodb - Doctrine EventListener onFlush 获取旧 Document

转载 作者:可可西里 更新时间:2023-11-01 10:19:30 25 4
gpt4 key购买 nike

我可以在 Doctrine2 的 onFlush eventListerner 中访问更新的文档。我想要完整的旧文档以旧状态将其存储在其他地方。

   public function onFlush(OnFlushEventArgs $eventArgs)
{
$dm = $eventArgs->getDocumentManager();

$uow = $dm->getUnitOfWork();
foreach ($uow->getScheduledDocumentUpdates() as $document) {
// $document is updated document
// $changeSet contains only new and old values
$changeSet = $uow->getDocumentChangeSet($document);

// I want the whole old document object as $oldDocument
}
}

我如何才能访问旧文档而不仅仅是更改集?

最佳答案

只需使用preUpdate 事件。示例:

public function preUpdate(PreUpdateEventArgs $event)
{
$entity = $event->getEntity(); // the whole entity
$changeSet = $event->getEntityChangeSet(); // only changed properties

// check if password has been changed
if ($event->hasChangedField('password')) {
// do stuff
}

/* ... */
}

关于mongodb - Doctrine EventListener onFlush 获取旧 Document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40573882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com