【问题标题】:Using Doctrine 2 Entity with different databases将 Doctrine 2 Entity 与不同的数据库一起使用
【发布时间】:2012-08-31 17:44:21
【问题描述】:

在我的 Symfony2 浏览器游戏中,我有一个使用 Doctrine 2 ORM 的用户实体。游戏有经典和极速两个实例,主要是相互独立,都使用自己的数据库(结构相同)。唯一的问题是用户可以连接他们的帐户,所以要显示连接帐户的一些基本用户信息。为此,我有一个 classic_id 和 speed_id 作为连接到另一个用户实体的属性。但这将是一个跨数据库连接,据我所知,这在 Doctrine 2 中是不可能的。我还发现可以有多个实体管理器有自己的连接,但我认为它们只能应用于完整的捆绑包,对吗?

所以我需要一些解决方法来解决这个问题,最简单的方法是什么?

【问题讨论】:

    标签: symfony doctrine-orm


    【解决方案1】:

    实际上有可能进行跨数据库连接,但这与其说是一种功能,不如说是一种技巧,我不建议使用它。

    要将实体从不同实体管理器之间的一个包中分离出来,您可以使用指向托管实体的“dir”属性。例如:

    doctrine:
        orm:
            default_entity_manager:   default
            entity_managers:
                default:
                    connection:       default
                    mappings:
                        AppBundle:
                            dir:      Path/To/EntityFolder1
                anotherone:
                    connection:       anotherconnection
                    mappings:
                        AppBundle:
                            dir:      Path/To/EntityFolder2
    

    还有记录不佳的“前缀”选项,但我还没弄清楚它是什么(你可以自己试验:))

    您好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多