我有一个类,它是一个表单类型(反过来,嵌入到另一个表单中),用于选择公社,地区和国家,每个都有一个下拉列表(区域取决于国家/地区)。我希望在构建国家/地区列表时默认选择某个国家/地区。这就是我所拥有的:
$factory = $builder->getFormFactory();
$builder->add('pais', 'entity', array(
'class' => 'Codesin\ColegiosBundle\Localidad\Pais',
'property' => 'nombre',
'query_builder' => function (EntityRepository $repositorio) {
$qb = $repositorio->createQueryBuilder('pais')
->orderBy('pais.nombre');
return $qb;
}
));
我尝试过使用preferred_value
(它说我需要一个对象,我无法从任何地方获取该对象,因为我在类中没有数据库访问权限)和data
(这不是不行。我尝试在两种情况下都使用实体的id。在这种情况下,如何设置所选的默认值?
答案 0 :(得分:0)
如果您正在使用带有模型对象的表单类型,请在对象本身上设置默认值。
答案 1 :(得分:0)
尝试 SET_DATA 或 POST_SET_DATA 表单事件:您可以在lambda函数中执行类似的操作:
$data = $event->getData();
$form = $event->getForm();
// search in the form for the right entity to set as country.. let's consider $country
$data->setCountry($country);
$event->setData($data);
它可能有用。试着告诉我们进展情况
答案 2 :(得分:0)