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();