首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Symfony/Doctrine与外部数据库的临时连接

使用Symfony/Doctrine与外部数据库的临时连接
EN

Stack Overflow用户
提问于 2010-09-27 21:09:26
回答 1查看 3.1K关注 0票数 4

摘要:

我希望能够对外部数据库运行一个查询,以便在用户登录时获取一些需要的数据。我不想这个网站做任何其他与外部数据库。从长远来看,它可能需要能够将数据向后推,但具体来说,我不希望symfony试图为外部db构建模式,它应该不使用它,并不时允许连接。

详细信息:

我试图创建一个与另一个symfony应用程序的数据库的临时连接,但我似乎想不出如何做到这一点。

我有一个现有的symfony网站,是建立和运行。我试图为这个主站点的用户创建一种管理系统。管理系统将为每个选择它的用户提供单独的部署,因此它还将拥有自己的数据库。但是,该管理系统需要访问主要站点系统中的2或3个表。

我在管理系统中尝试在databases.yml中添加单独的条目,以创建到两个数据库的连接,但是每当我构建所有数据库时,它都希望将我的模式放在两个数据库中。

我想出的最佳方法是将连接:管理系统的所有表中的管理,以及将连接: main_site放在主站点的所有表中。但是,这将要求我维护管理系统和主站点中的yml文件,以确保它们彼此保持最新状态。

我希望这一点能稍微清楚一点。

谢谢你的帮助:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-27 23:29:28

对于不能够在远程站点上使用DQL的临时连接,只需通过Doctrine_Manager打开连接即可。

代码语言:javascript
复制
$conn = Doctrine_Manager::getInstance()->openConnection('mysql://username:password@localhost/database', 'connection 2', false);

确保第三个参数是错误的,这样它就不会成为当前的连接。然后可以使用PDO在连接上运行查询:

代码语言:javascript
复制
$conn->exec('SELECT * FROM table WHERE conditon = ?', array('value'));

如果您想要能够使用DQL和远程模式,就必须按照您概述的方式来做:定义两个连接并在两个地方维护模式(您的版本控制应该能够处理这个问题)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3807893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档