pi.*_*pi. 0 php zend-framework doctrine-orm
我目前正在使用ZF 1.11.3构建的应用程序 - Doctrine2是使用的ORM组件.我需要使用多个数据库.在application.ini文件中,我已按如下方式设置数据库连接:
resources.doctrine.dbal.connections.default.parameters.dbname = "db_name_one"
resources.doctrine.dbal.connections.secondary.parameters.dbname = "db_name_two"
Run Code Online (Sandbox Code Playgroud)
如何将基于第二个数据库连接的Doctrine2实体类与该连接相关联:例如,如果我有来自第二个连接的实体类,则:
/*
* @Entity
* @Table(name="tableOnSecondDatabase")
*/
Class EntityFromSecond
{
Run Code Online (Sandbox Code Playgroud)
Doctrine2/ZF如何知道哪些实体类映射到数据库?谢谢你的帮助.
我不瘦,你可以将实体绑定到特定的连接,在Doctrine 2架构中没有意义.
另一方面,你可以做的是拥有两个EntityManagers,每个都有不同的连接选项.您必须在业务逻辑中决定哪个实体由哪个连接管理器处理.
编辑 Doctrine 2不支持跨数据库连接,即具有两个不同的连接并连接它们,AFAIK.我甚至无法想象,这将如何在PHP PDO级别上运行.Vijay为一个基于Doctrine 1和第二个的建议,这不完全是跨数据库连接,因为Doctrine 1执行2个查询并合并结果本身,这在性能方面不是最佳的.
另一方面,你可以做的是有一个连接,可以访问两个数据库(即,如果它们在同一个数据库服务器上),或者模式,如果你在说Postgres,并定义你的实体本身:
//defining first entity
@Entity
@Table(firstSchema.table_name)
class MyEntity
//defining second entity
@Entity
@Table(secondSchema.table_name)
class SecondEntity
Run Code Online (Sandbox Code Playgroud)
我相信这应该有用
| 归档时间: |
|
| 查看次数: |
4857 次 |
| 最近记录: |