POST_SET_DATA
应该用于在提交表单后添加或修改表单,但我不确切知道如何使用它..
我有这段代码:http://pastebin.com/E9V9QHFn但是我得到了NULL end
,而且肯定是在提交数据表单。
这里是代码:
//CustomerType.php
$builder->addEventListener(
FormEvents::POST_SET_DATA,
function(FormEvent $event) {
$form = $event->getForm();
$data = $event->getData();
var_dump($data);
die("end");
}
);
我跟随this。
这次我的目标是设置实体中定义但未在表单中显示的外键的值,正好是已记录用户的id。
答案 0 :(得分:1)
你必须尝试这个
$builder->addEventListener(
FormEvents::POST_SUBMIT,
function(FormEvent $event) {
$form = $event->getForm();
$data = $form->getData();
var_dump($data);
die("end");
}
);
您已将getData()调用到FormEvent中。要获取数据,你必须使用$ form-> getData()。
抱歉,我在谈论你的EventListener:
$data = $form->getData();
不是
$data = $event->getData();
要获取提交的数据,请使用PRE_SUBMIT / POST_SUBMIT而不是POST_SET_DATA