Forms 选择的多个选项无效

Forms 选择的多个选项无效,forms,symfony,Forms,Symfony,我有一个带有多个复选框列表的表单(选项列表是动态准备的)。我希望从一开始就选择它们(以便用户可以取消选中它们)。我已经准备了一个包含选项和checked_选项的数组,但是在表单呈现过程中只选中了第一个复选框。有关于如何修复的建议吗 $choices = array(); $choices_check= array(); foreach($user[0]->getShops() as $shop) { $choices[$shop->getId()] = $shop->g

我有一个带有多个复选框列表的表单(选项列表是动态准备的)。我希望从一开始就选择它们(以便用户可以取消选中它们)。我已经准备了一个包含选项和checked_选项的数组,但是在表单呈现过程中只选中了第一个复选框。有关于如何修复的建议吗

$choices = array();
$choices_check= array();
foreach($user[0]->getShops() as $shop)
{
    $choices[$shop->getId()] = $shop->getName();

    $choices_check[] = true;
}
//return $this->render('GLPolicyBundle:Policy:tmp.html.twig', array('entities' => var_dump($choices_p)));

$searchby = array();
$form = $this->createFormBuilder($searchby)
        ->add('shop', 'choice', array('choices' => $choices,

                                    'multiple' => true,
                                    'expanded' => true,
                                    'required' => true,
                                    'data' => $choices_check)                
            )
        ->add('date_from', 'date', array('data' => $date_from))
        ->add('date_to', 'date', array('data' => new \DateTime()))
        ->getForm();

解决方案是在细枝视图中设置选中属性:

{form.shop%}

{{表格标签(商店)}

{{form_widget(shop,{'attr':{'checked':'checked'}}}}

{%endfor%}


解决方案是在细枝视图中设置选中属性:

{form.shop%}

{{表格标签(商店)}

{{form_widget(shop,{'attr':{'checked':'checked'}}}}

{%endfor%}


数据需要是一个数组,数组的值是要选择的选项的键

将$choices_check[]=true更改为以下值应该可以做到这一点

$choices_check[] = $shop->getId();

请注意,发布表单后,$form->getData()的格式相同。

数据需要是一个数组,数组的值是要选择的选项的键

将$choices_check[]=true更改为以下值应该可以做到这一点

$choices_check[] = $shop->getId();
请注意,在发布表单之后,$form->getData()的格式是相同的