我想设置一个带有" 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,
))
答案 0 :(得分:0)
preferred_choices
选项需要一个值数组,但是您传递的是一个对象数组(即$defaultCQSsearch
)