绑定doctrine ORM实体和doctrine ODM文档,并在SonataAdminBundle中使用



我有一个User实体和Address文档。它们通过@gedmoreferences原则扩展相互连接。这个关系很好。我可以得到两个referenceMany和referenceOne链接对象。

现在我需要在sonataUserBundle表单中使用它来让用户为用户添加多个地址。(mysql中user -, mongodb中address -).

我试着在userAdmin类中使用这个:

  $formMapper->add('addresses', 'sonata_type_model', array(                    
                'class' => 'ApplicationSonataUserBundleDocumentAddress',
                'required' => false,
                'expanded' => true,
                'multiple' => true
            ))

它给了我一个错误:

No entity manager defined for class ApplicationSonataUserBundleDocumentAddress

请回答我该怎么办!

您会得到这个错误,因为一个管理类的ModelManager只支持您配置的manager_type,这是ORM默认值。所以它正在寻找一个entityManager。

我有一个类似的情况,但相反。在我的文档管理类,我必须链接到一个实体。它是这样工作的:

$formMapper->add('user', 'entity', array(
                'class'    => 'ApplicationSonataUserBundle:User',
                'label' => 'User'
            ));

您应该能够简单地使用实体文档作为类型而不是sonata_type_model

相关内容

  • 没有找到相关文章

最新更新