我一直在尝试设置隐藏的自定义字段类型和变换器,如下例所示:https://gist.github.com/bjo3rnf/4061232
我想要实现的是通过隐藏元素传递一个实体,该实体应该映射表单的实体,但出于某种原因,当它到达控制器时它会变空。
有人可以帮助我如何通过表单传递实体?
谢谢
答案 0 :(得分:1)
使用自定义类型和变换器的解决方案可能更好,但如果您只想快速入侵,可以在formbuilder中将字段设置为实体类型
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()