4

エンティティ タイプ フィールドを含むフォームが 1 つあります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

4

1 に答える 1

0

あまりエレガントではありませんが、選択したタイプと名前を連結して、それをラベルとして使用できます。次に、ラベルを表示するときに区切り文字で分割すると、タイプと名前の両方が得られます。

于 2012-06-29T13:56:23.877 に答える