Symfony 2:在一个对象上形成,而不是一个映射的实体

时间:2014-03-06 14:21:17

标签: forms symfony object entity

我正在尝试将我的formType映射到自定义对象上,该对象不是持久的或任何东西..

所以我设置data_class,但是我收到以下错误:

  

类“CDA \ SvBundle \ Lib \ ImportContact \ Contact”似乎不是一个托管的学说   实体。你忘了映射吗?

所以不,我没有忘记映射它,这是故意的......

这是我正在使用的类型

class ImportContactType extends \Symfony\Component\Form\AbstractType
{
    public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options)
    {
        $builder->add('contacts', 'entity', array('class' => "CDA\SvBundle\Lib\ImportContact\Contact"));
    }

    public function getName()
    {
        return 'importContact';
    }
    public function setDefaultOptions(\Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'CDA\SvBundle\Lib\ImportContact\ImportContact',
        ));
    }
}

1 个答案:

答案 0 :(得分:2)

entity FormType是一个Doctrine FormType,需要一个实体作为class(它从ORM加载值)。您应该使用choice类型。

所以问题不是来自data_class,而是来自contacts表单字段。

编辑:错误消息提到联系人,而不是ImportContact,是吗?