我创建了一个 FormType ,它添加了这样的国家字段类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('address', 'text', array(
'required' => false,
))
->add('country', 'country', array(
'required' => false,
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => $this->dataClass,
));
}
public function getName()
{
return 'form_contact';
}
我将此表单的data_class选项设置为一个实体,该实体具有这两个字段的地址和国家/地区都是字符串类型
重新提交表单并提交就可以了,POST参数包括
form_contact['address'] = 'Some value'
form_contact['country'] = 'US'
但是当我从提交的表单中保留实体时,国家字段为 NULL。转储$form->getData()我得到了这个:
object(Namspace\Entity\MyEntity)#3501 (3) {
["id":protected]=>
NULL
["address1":protected]=>
string(12) "Some value"
["country":protected]=>
NULL
["US"]=>
string(2) "US"
}
我希望这个国家是美国而不是关键和价值美国的新元素。你能帮助我吗?非常感谢