使用我的 formBuilder,我正在构建一个选择字段:$options = [ 'attr' => array('class' => 'form-control'), 'data' => '2', 'mapped' => false, 'label' => $label, 'data_class' => null, ];if ($type == 'choice') { $options['attr'] = array('class' => 'form-control select2'); $options['class'] = 'App\Entity\Options'; $options['choice_label'] = 'name'; $options['query_builder'] = function (EntityRepository $er) use ($fieldId) { return $er->createQueryBuilder('f') ->leftJoin('f.fields', 'fi') ->where(":id MEMBER OF f.fields") ->setParameter(':id', $fieldId); }; $options['data'] = '2'; $formBuilder->add($id, ChoiceType::class, $options);}它运作良好,使用我的所有选项创建了一个选择字段。问题是,我希望默认选择的选项是2.这是行不通的。始终选择第一个选项。所以默认选择的选项是 always green。但我需要它blue。这是选择框,即创建:<select class="form-control select2 select2-hidden-accessible" tabindex="-1" aria-hidden="true"> <option value="1">green</option> <option value="2">blue</option> <option value="3">red</option></select>
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
您正在将数据设置为文字。将其设置为对象引用:
$options['data'] = $entityManager->getReference(YourEntity::class, 2);
- 1 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消
