从Twig中的表单访问映射的实体

从Twig中的表单访问映射的实体,twig,symfony-forms,symfony-2.4,Twig,Symfony Forms,Symfony 2.4,我有一个映射到表单的实体,但我不希望所有字段都可编辑,但仍希望显示值 例如,这是我的表单类型: class GameHasPlayerType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array

我有一个映射到表单的实体,但我不希望所有字段都可编辑,但仍希望显示值

例如,这是我的表单类型:

class GameHasPlayerType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('inTeam', new TeamPositioningCheckboxType())
            ->add('positionX', new TeamPositioningNumberType(), array(
                'attr' => array(
                    'class' => 'in-table'
                )
            ))
            ->add('positionY', new TeamPositioningNumberType(), array(
                'attr' => array(
                    'class' => 'in-table'
                )
            ))
            ->add('exchanged', new TeamPositioningCheckboxType())
        ;
    }
}
此类型具有自定义表单模板:

{% block team_positioning_widget %}
    {% spaceless %}
        <td>
            {{ form_widget(form.inTeam) }}
        </td>
        <td>
            {{ form.player.firstName }} {# Player is not in the form, but inside the mapped entity #}
        </td>
    {% endspaceless %}
{% endblock %}
{%block team\u positioning\u widget%}
{%spaceless%}
{{form_小部件(form.inTeam)}
{{form.player.firstName}{#player不在表单中,而是在映射的实体#}
{%endspaceless%}
{%endblock%}
从表单中,我希望引用未添加到表单中的映射实体和访问字段


如何从表单对象访问映射实体?

您可以通过form.vars.data属性访问映射实体

{{ form.vars.data.firstName }} {# The data attribute is the Player instance #}
或者如form.vars.value所述:

您可以通过form.vars.value访问表单的当前数据:

{{form.vars.value.firstName}


这是行不通的
{form.vars.value}
为空,以及
{{form.vars.data}
如何在控制器中创建表单?您是否将实体作为数据传递:
$this->createForm(新GameHasPlayerType(),$entity)否我在这样的父窗体中创建此窗体:
$builder->add('subForm',new GameHasPlayerType())
aah,现在我得到了它。我需要为选项数组中的实体设置
数据
键。非常感谢你的帮助:)这是一个复制到。我在那里发布了一个与版本2.6.7相关的答案。