在隐藏的表单字段类型中传递实体
Pass entity in a hidden form field type
我一直在尝试设置隐藏的自定义字段类型和转换器,如本例所示:https://gist.github.com/bjo3rnf/4061232
我想要完成的是通过一个隐藏元素传递一个实体,该实体应该映射表单的实体,但由于某种原因,当它到达控制器时它变空了。
有人可以帮助我了解如何通过表单传递实体吗?
谢谢
使用自定义类型和转换器的解决方案可能更好,但如果您只想快速破解,可以在表单构建器中将字段设置为实体类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('yourField', 'entity', array('class' => 'AppBundle\Entity\YourEntity', 'read_only' => true));
}
然后在您的模板中执行类似的操作:
<input type="hidden" id="{{ form.yourField.vars.id }}"
name="{{ form.yourField.vars.full_name }}"
value="{{ form.yourField.vars.value }}" />
{% do form.yourField.setRendered %}
请注意,在调用 form_widget()
之前,它必须位于表单的顶部
我一直在尝试设置隐藏的自定义字段类型和转换器,如本例所示:https://gist.github.com/bjo3rnf/4061232
我想要完成的是通过一个隐藏元素传递一个实体,该实体应该映射表单的实体,但由于某种原因,当它到达控制器时它变空了。
有人可以帮助我了解如何通过表单传递实体吗?
谢谢
使用自定义类型和转换器的解决方案可能更好,但如果您只想快速破解,可以在表单构建器中将字段设置为实体类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('yourField', 'entity', array('class' => 'AppBundle\Entity\YourEntity', 'read_only' => true));
}
然后在您的模板中执行类似的操作:
<input type="hidden" id="{{ form.yourField.vars.id }}"
name="{{ form.yourField.vars.full_name }}"
value="{{ form.yourField.vars.value }}" />
{% do form.yourField.setRendered %}
请注意,在调用 form_widget()