我有一个包含实体类型字段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
。
有没有办法返回对象?
答案 0 :(得分:0)
它不是很优雅,但您可以在选择中连接类型和名称,并将其用作标签。然后,在显示标签时,在分隔符上拆分,同时具有类型和名称。