新手问题:
我有一个实体customer
,其ID为fieldA,fieldB和fieldC
有一种表单可以更新fieldA,fieldB。
提交表单后,我想添加一个函数来检查fieldA和fieldB是否相等,fieldC更改为1。
该函数放在哪里?显然不在实体和形式下。我应该编写一个新的控制器(如何触发更改并执行操作吗?添加一个侦听器?)?
答案 0 :(得分:0)
最快的方法是在Form中处理它:
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
...
$builder
...
->addEventListener(FormEvents::SUBMIT, function (FormEvent $event) {
$data = $event->getForm();
if ($data->getFieldA() === $data->getFieldB()) {
$data->setFieldC(1);
}
$event->getForm()->setData();
})
;