preferred_choices实体字段表单永远不会运行

时间:2014-11-22 14:47:01

标签: php forms symfony

我想设置一个带有" preferred_choices"的表单。在我的选择字段HTML之上,对应于用户选择的先前提交的数据。我想构建一个带有常量列表的实体字段和一个preferred_choices顶部元素,如果表单先前已提交过。

我从未在symfony2中正确运行此功能。 你能帮我正确构建我的实地表格。

为什么我的preferred_choices选项在构造表单时没有选择任何内容? 我使用之前在代码中设置的正确对象进行设置。

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $defaultCQSsearch = new CqsProSansMarque();
    $defaultCQSsearch->setRayLibelle((!array_key_exists('ray_libelle', $options['attr'])) ? null : $options['attr']['ray_libelle']);
    $defaultCQSsearch->setFamLibelle((!array_key_exists('fam_libelle', $options['attr'])) ? null : $options['attr']['fam_libelle']);
    $defaultCQSsearch->setCaeLibelle((!array_key_exists('cae_libelle', $options['attr'])) ? null : $options['attr']['cae_libelle']);

    $builder
        ->add('ray_libelle', 'entity', array(
            'class' => 'ApplicationDriveBundle:CqsProSansMarque',
            'data_class' => 'Application\DriveBundle\Entity\CqsProSansMarque',
            'property' => 'ray_libelle',
            'query_builder' => function(CqsProSansMarqueRepository $er){
                return $er->createQueryBuilder('a')
                ->select('a')
                ->groupBy('a.ray_libelle');
            },
            'preferred_choices' => array($defaultCQSsearch),
            'label' => 'rayon',
            'required' => false,
        ))

1 个答案:

答案 0 :(得分:0)

preferred_choices选项需要一个值数组,但是您传递的是一个对象数组(即$defaultCQSsearch