表单提交后,我应该将更新 sql 操作放在哪里(Symfony / Sylius)
Where should I put the update sql action after the form submit (Symfony / Sylius)
新手问题:
我有一个实体 customer
,带有 id、fieldA、fieldB 和 fieldC
有一个表单可以更新字段A,字段B。
提交表单后,我想添加一个功能来检查fieldA和fieldB是否相等,fieldC变为1。
我应该把函数放在哪里?显然不在 Entity 和 Form 之下。我是否应该编写一个新的控制器(如何触发更改并执行操作?添加一个监听器?)?
最快的方式是在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();
})
;
新手问题:
我有一个实体 customer
,带有 id、fieldA、fieldB 和 fieldC
有一个表单可以更新字段A,字段B。
提交表单后,我想添加一个功能来检查fieldA和fieldB是否相等,fieldC变为1。
我应该把函数放在哪里?显然不在 Entity 和 Form 之下。我是否应该编写一个新的控制器(如何触发更改并执行操作?添加一个监听器?)?
最快的方式是在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();
})
;