mongodb - 绑定(bind)学说ORM实体和学说ODM文档,在SonataAdminBundle中使用

标签 mongodb symfony doctrine-orm sonata-admin doctrine-odm

我有一个用户实体和地址文档。它们通过 @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 仅支持您配置的 ma​​nager_type,这是 ORM 默认值。所以它正在寻找一个 entityManager。

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

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

您应该能够简单地使用entitydocument 作为类型,而不是sonata_type_model

关于mongodb - 绑定(bind)学说ORM实体和学说ODM文档,在SonataAdminBundle中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24404293/

相关文章:

javascript - Passport.js - 对不同服务器使用相同的 token

doctrine-orm - 如何使用Doctrine2处理组合关键实体上的关联?

php - Symfony 查询 - 检索一个用户的所有项目

php - Doctrine 无法连接到链接的 docker 容器中的 MYSQL 数据库

php - 如何使用 Doctrine 仅保留实体层次结构的第一级?

java - 如何使用 Java 驱动程序对选定字段运行查找查询

javascript - MongoDB 模型不通过架构嵌入对象连接

php - Silex是否支持自定义用户角色

symfony - Doctrine ORM 自定义列整理

json - MongoDB find()。count()-SyntaxError : missing : after property id (shell):1