Orm Symfony2/Doctrine-加入Mysql和Sqlite实体

Orm Symfony2/Doctrine-加入Mysql和Sqlite实体,orm,join,symfony,doctrine-orm,relationships,Orm,Join,Symfony,Doctrine Orm,Relationships,我对Symfony2/条令有问题 我开始认为我在尝试做不可能的事情,通过关系将两个独立的数据库连接在一起 我有一个mysql数据库和一个sqlite数据库 我有两个包(每个包与一个数据库进行通信) 我有2个实体管理器,映射工作正常 我可以通过自己的实体管理器访问每个数据库,每个包都可以访问其他包的实体管理器,而且在这方面都工作得很好 Sqlite数据库被锁定到另一个应用程序,我必须按原样使用它。mysql数据库是我的,可以做任何我需要的事情 在sqlite数据库中,我有一个“Project

我对Symfony2/条令有问题

我开始认为我在尝试做不可能的事情,通过关系将两个独立的数据库连接在一起

  • 我有一个mysql数据库和一个sqlite数据库
  • 我有两个包(每个包与一个数据库进行通信)
  • 我有2个实体管理器,映射工作正常
我可以通过自己的实体管理器访问每个数据库,每个包都可以访问其他包的实体管理器,而且在这方面都工作得很好

Sqlite数据库被锁定到另一个应用程序,我必须按原样使用它。mysql数据库是我的,可以做任何我需要的事情

  • 在sqlite数据库中,我有一个“Projects”表
  • 在mysql数据库中,我有一个“Tasks”表
  • 一个项目可以有许多任务
我的任务表有一个project_id字段,该字段由projects表中的id填充。我想做的是让这种关系正常运作,这样我就可以用twig来做你们在更正常的情况下可以用twig做的事情。例如,调用类似于{{project.tasks}{{tasks.projects}的东西

目前,我在项目控制器中有一些代码,将任务传递给视图,反之亦然。这确实有效,但相当麻烦。我真正想做的是让ORM映射在每个实体之间正常工作

教义/Symfony2能做到这一点吗,还是我在尝试做不可能的事?

如蒙协助,将不胜感激

下面是我的config.yml文件的摘录

orm:
        auto_generate_proxy_classes: %kernel.debug%
        default_entity_manager:   agile
        entity_managers:
            glue:
                connection:       glue
                mappings:
                    WebplaceGlueBundle: ~
            agile:
                connection:       agile
                mappings:
                    WebplaceAgileBundle: ~

OpenSky也有类似的问题:有些数据存储在MongoDB中,有些存储在MySQL中。我们使用stof的DoctrineExtensions捆绑包的扩展:

这允许我们在ODM和ORM之间添加
@Gedmo\ReferenceOne
注释。您可能能够在两个ORM连接之间直接使用它,但如果不能,它将为您处理不同持久性层之间的关系提供一个起点

/**
 * @Gedmo\ReferenceOne(
 *     type="document",
 *     class="MyBundle\Document\User",
 *     identifier="userId"
 * )
 */

感谢Justin,感谢回复伙伴,我已经尝试在每个模型orm文件中使用较长的Company\SomethingBundle\Entity\SomeEntity符号直接映射彼此之间的实体,但是看起来每个实体仍然在自己的数据库中查找,不管是什么,即使实体位于单独的数据库中。然后我得到一堆关于映射超类的错误消息。。。为了让它正常工作,可能不得不接受旧的控制器黑客攻击。。唉..嗨egruz,有关于这个问题的消息吗?