4

私は以下のようにコントローラーで定義されたフォームを持っています:

$addForm = $this->createFormBuilder()
            ->add('userIds', 'collection', array(
                'type' => 'checkbox',
                'allow_add' => true,
                'options' => array(
                    'required' => false
                )
            ))
            ->add('userId', 'hidden')
            ->getForm();

ビューでは、一括削除オプション付きのデータグリッドを表示しています。ページ付けにknppaginatorを使用しています。以下のように、ビューのフィールドを手動でレンダリングしています。

//Inside loop
 {%for items in pagination %}
<input type="checkbox" name="form[userIds][]" class="ids" value="{{items.id}}"/>
 {%endfor%}

以下のように、POSTリクエストの後にコントローラーでデータをフェッチしています:

 var_dump($data['userIds']); 

ユーザーが3つのチェックボックスを選択すると、次のように出力されます。

array (size=4)
0 => boolean true
1 => boolean true
2 => boolean true
3 => boolean true

値には1,5,6,7のようなuserIdが含まれている必要がありますが、ブール値のみを取得しています。私は何を間違えましたか?

4

1 に答える 1

1

エンティティフィールドタイプの使用を検討してください:プロパティを微調整するexpandedと、multiple送信時にモデルスキーマにバインドされるチェックボックスのリストが表示されます。

于 2013-03-03T11:39:55.687 に答える