我有一个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。