SonataAdminBundle - preUpdate

NHG*_*NHG 7 symfony doctrine-orm sonata-admin

是否可以检查preUpdate挂钩上的字段是否已更改?我正在寻找像Doctrine功能这样的东西.有任何想法吗?preUpdate hasChangedField($fieldName)

Gee*_*lle 12

这个问题有点类似于这一个

您的解决方案只是将旧对象的字段与新对象进行比较,并查看它的不同之处.

例如:

public function preUpdate($newObject)
{
    $em = $this->getModelManager()->getEntityManager($this->getClass());
    $originalObject = $em->getUnitOfWork()->getOriginalEntityData($newObject);

    if ($newObject->getSomeField() !== $originalObject['fieldName']) {
        // Field has been changed
    }
}
Run Code Online (Sandbox Code Playgroud)