0

Symfony 版本:Symfony 2.1.7-DEV.

我有一个带有选择字段的表单,现在如果我选择多个选项,他只会发布第一个选项。

我有这样的表单类型:

    $builder->add( 'weeks', 'entity', array(
        'class' => 'VM\NameBundle\Entity\CaravanRow',
        'property' => 'line',
        'query_builder' => function(EntityRepository $er ) use ( $caravan ) {
            return $er->createQueryBuilder('w')
                      ->orderBy('w.dateFrom', 'ASC')
                      ->where('w.caravan = :caravan' )
                      ->andWhere('w.visible = 1')
                      ->setParameter( 'caravan', $caravan );
        },
        'attr' => array(
            'multiple' => true,
            'size'     => 5,
            'style'    => 'width: 415px;'
        )
    ));

现在在网站上的选择表单中看起来像这样:

<select id="reservation_weeks" style="width: 415px;" size="5" multiple="1" required="required" name="reservation[weeks]">
    <option value="1">20 - 11-05 t/m 18-05 (2013)</option>
    <option value="2">21 - 18-05 t/m 25-05 (2013)</option>
    <option value="3">22 - 25-05 t/m 01-06 (2013)</option>
    <option value="4">23 - 01-06 t/m 08-06 (2013)</option>
    <option value="5">24 - 08-06 t/m 15-06 (2013)</option>
</select>

reservation[weeks]不应该吗reservation[weeks][]

谢谢。

4

1 回答 1

0

您必须添加选项 multiple 但不在 attr 数组中

$builder->add( 'weeks', 'entity', array(
    'class' => 'VM\NameBundle\Entity\CaravanRow',
    'property' => 'line',
     ....
    'multiple' => true
于 2013-01-05T19:22:14.927 回答