【问题标题】:Field Type entity and current value in the database Symfony2数据库 Symfony2 中的字段类型实体和当前值
【发布时间】:2014-04-07 23:57:59
【问题描述】:

我正在使用 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';
    }
}

一切正常,但假设我想修改一个用户:

  • 住在加拿大
  • 名字叫杰克。

每当表单出现时,我的问题就会出现,字段名称包含数据库中的当前值,但与国家/地区字段不同,它确实包含数据库中的正确值。这怎么可能?

【问题讨论】:

    标签: php symfony symfony-2.1 symfony-forms


    【解决方案1】:

    您能否向我们展示您在用户和国家/地区之间定义的关系的配置?

    只有在两个实体之间的关系设置正确的情况下,您所拥有的才能发挥作用。否则,设置选择的值将无法正确匹配。

    【讨论】:

      猜你喜欢
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 2014-06-22
      • 2012-07-09
      • 2012-07-29
      • 2012-04-12
      相关资源
      最近更新 更多