Sonata Admin PreUpdate中的自定义更改可防止对象持久化

时间:2018-02-23 10:50:53

标签: sonata-admin sonata

我在Symfony 2.8.34项目中使用Doctrine 2.4.8。

我的问题是我在preUpdate函数中进行的自定义更改阻止了管理表单的预期更改。取决于选择字段,应创建或删除新事件。

class CustomAdmin extends AbstractAdmin {

   public function preUpdate($object) {
      ...
      if ($object->isDetached()) {
         $event = new Event();
         ...
         $object->setDetachedEvent($event);
      } else {
         $object->setDetachedEvent(null);
      }
   }
}

现在,$object->setDetachedEvent(null);行将一切都变得疯狂。我第一次保存表单时执行preUpdate函数中的自定义更改,但管理表单字段中的更改将被忽略。第二次执行管理表单的更改。如果我删除上面的行,那么每件事都可以正常工作。

那么,任何人都知道如何处理这个问题?

0 个答案:

没有答案