Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 如何在窗体类型的事件侦听器中获取实体?_Symfony_Symfony Forms - Fatal编程技术网

Symfony 如何在窗体类型的事件侦听器中获取实体?

Symfony 如何在窗体类型的事件侦听器中获取实体?,symfony,symfony-forms,Symfony,Symfony Forms,我想获取实体的属性id的值,那么如何在表单类型的事件侦听器中获取实体呢 我在下面尝试了这个,但是$event->getData()正在输出类型表单类本身。我需要实体来编写$entity->getId() 有点黑客,但是你可以把id放在一个隐藏的字段中(等待找到更好的答案)@allan.simon谢谢,这听起来很有用,但我不知道如何在事件侦听器中检索id值。你可能想使用预设置数据。我知道getData将为您提供实体。不确定POST_SET的用例。pre_SET_数据和POST_SET_数据都应该为

我想获取实体的属性
id
的值,那么如何在表单类型的事件侦听器中获取实体呢

我在下面尝试了这个,但是
$event->getData()
正在输出类型表单类本身。我需要实体来编写
$entity->getId()


有点黑客,但是你可以把id放在一个隐藏的字段中(等待找到更好的答案)@allan.simon谢谢,这听起来很有用,但我不知道如何在事件侦听器中检索
id
值。你可能想使用预设置数据。我知道getData将为您提供实体。不确定POST_SET的用例。pre_SET_数据和POST_SET_数据都应该为您提供模型数据(即,您的实体,如果它是根表单)。奇怪的是,您得到了表单类型类(
getData
不应该返回表单类型类)。
$builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) {
  $data = $event->getData();