Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 字段类型实体和数据库Symfony2中的当前值_Php_Symfony_Symfony 2.1_Symfony Forms - Fatal编程技术网

Php 字段类型实体和数据库Symfony2中的当前值

Php 字段类型实体和数据库Symfony2中的当前值,php,symfony,symfony-2.1,symfony-forms,Php,Symfony,Symfony 2.1,Symfony Forms,我和Symfony2一起工作。我有两个实体,如下所示: class User { private $idUser; private $name; private $country; ... } class Country { private $idCountry; private $namecountry; ... } 我创建了一个这样的表单: 一切正常,但假设我要修改以下用户: 他住在加拿大 我叫杰克 每当表单出现时,就会出现我

我和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';
    }
}