【问题标题】:Pass entity in a hidden form field type在隐藏的表单字段类型中传递实体
【发布时间】:2015-08-25 16:38:12
【问题描述】:

我一直在尝试设置一个隐藏的自定义字段类型和一个转换器,如下例所示:https://gist.github.com/bjo3rnf/4061232

我想要完成的是通过隐藏元素传递一个实体,该实体应该映射表单的实体,但由于某种原因,当它到达控制器时它会变空。

有人可以帮助我了解如何通过表单传递实体吗?

谢谢

【问题讨论】:

  • 你需要发布你的代码...
  • 嗨@Matteo,GerwarForm 适用于 Symfony
  • @gp_sflover,我的代码现在一团糟,我需要清理它的所有测试显示一些和平。

标签: symfony symfony-forms


【解决方案1】:

使用自定义类型和转换器的解决方案可能更好,但如果您只是想快速破解,您可以在表单构建器中将您的字段设置为实体类型

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

【讨论】:

  • 谢谢@LorenzSchaefer 我是 Symfony 的新手,你能给我一个关于 buildForm 中实体字段类型的例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多