我正在使用Symfony2。我有两个实体,如下所示:
class User
{
private $idUser;
private $name;
private $country;
...
}
class Country
{
private $idCountry;
private $namecountry;
...
}
我创建了一个这样的表单:
class UserType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name','text')
->add('country', 'entity', array(
'required' => false,
'label' => 'Country',
'class' => 'TestBundle:Country',
'property' => 'namecountry',
'empty_value' => false,
));
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Test\TestBundle\Entity\User'
));
}
/**
* @return string
*/
public function getName()
{
return 'test_Testnbundle_user';
}
}
一切都很好,但我想要修改一个用户:
每当表单出现时,我的问题就出现了,字段名称包含数据库中的当前值,但与country字段不同,它 not 在数据库中包含正确的值。怎么会这样?
答案 0 :(得分:0)
您能否向我们展示您在用户和国家/地区之间定义的关系的配置?
只有在两个实体之间正确设置关系时,您应该工作。否则,它将无法正确匹配以设置所选值。