我有一个用户实体和地址文档。它们通过 @gedmo\references 学说扩展相互链接。这种关系工作得很好。我可以获得 referenceMany 和 referenceOne 链接对象。
现在我需要在 sonataUserBundle 表单中使用它来让用户为用户添加多个地址。 (用户 - 在 mysql 中,地址 - 在 mongodb 中)。
我试图在 userAdmin 类中使用它:
$formMapper->add('addresses', 'sonata_type_model', array(
'class' => 'Application\Sonata\UserBundle\Document\Address',
'required' => false,
'expanded' => true,
'multiple' => true
))
它给我一个错误:
No entity manager defined for class Application\Sonata\UserBundle\Document\Address
请回答我该怎么做!
最佳答案
您收到该错误是因为管理类的 ModelManager 仅支持您配置的 manager_type,这是 ORM 默认值。所以它正在寻找一个 entityManager。
我有一个类似的案例,但恰恰相反。在我的文档管理类中,我必须链接到一个实体。它是这样工作的:
$formMapper->add('user', 'entity', array(
'class' => 'ApplicationSonataUserBundle:User',
'label' => 'User'
));
您应该能够简单地使用entity 和document 作为类型,而不是sonata_type_model。
关于mongodb - 绑定(bind)学说ORM实体和学说ODM文档,在SonataAdminBundle中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404293/