Symfony2访问Twig中的每个实体字段元素值

时间:2012-06-22 09:32:06

标签: forms symfony twig

我有一个包含实体类型字段parameters的表单:

            ->add('parameters', 'entity', array(
                'class' => 'SPlaceBundle:Parameter',
                'query_builder' => function(ParameterRepository $er)
                {
                    return $er
                            ->createQueryBuilder('s')
                            ->where('s.type = :type1 or s.type = :type2')
                            ->setParameter('type1', 1)
                            ->setParameter('type2', 2)
                            ->orderBy('s.name', 'ASC');
                },
                'property' => 'name',
                'multiple' => true,
                'expanded' => true,
            ))

如您所见,我只显示type = 1或type = 2的参数。 在渲染模板时,我想在表示不同参数类型的复选框之间放置hr(或其他)。 我试图使用{{field.get('value')。type}}技巧来获取参数类型:

{% for p in form.parameters %}
    {{ form_widget(p) }} 
    {{ form_label(p) }}
    {{ p.get('value').type }}
    <br>
{% endfor %}

问题是以上{{ p.get('value') }}会返回parameter id (int)而不是parameter object。 有没有办法返回对象?

1 个答案:

答案 0 :(得分:0)

它不是很优雅,但您可以在选择中连接类型和名称,并将其用作标签。然后,在显示标签时,在分隔符上拆分,同时具有类型和名称。