摘要:
我希望能够对外部数据库运行一个查询,以便在用户登录时获取一些需要的数据。我不想这个网站做任何其他与外部数据库。从长远来看,它可能需要能够将数据向后推,但具体来说,我不希望symfony试图为外部db构建模式,它应该不使用它,并不时允许连接。
详细信息:
我试图创建一个与另一个symfony应用程序的数据库的临时连接,但我似乎想不出如何做到这一点。
我有一个现有的symfony网站,是建立和运行。我试图为这个主站点的用户创建一种管理系统。管理系统将为每个选择它的用户提供单独的部署,因此它还将拥有自己的数据库。但是,该管理系统需要访问主要站点系统中的2或3个表。
我在管理系统中尝试在databases.yml中添加单独的条目,以创建到两个数据库的连接,但是每当我构建所有数据库时,它都希望将我的模式放在两个数据库中。
我想出的最佳方法是将连接:管理系统的所有表中的管理,以及将连接: main_site放在主站点的所有表中。但是,这将要求我维护管理系统和主站点中的yml文件,以确保它们彼此保持最新状态。
我希望这一点能稍微清楚一点。
谢谢你的帮助:
发布于 2010-09-27 23:29:28
对于不能够在远程站点上使用DQL的临时连接,只需通过Doctrine_Manager打开连接即可。
$conn = Doctrine_Manager::getInstance()->openConnection('mysql://username:password@localhost/database', 'connection 2', false);确保第三个参数是错误的,这样它就不会成为当前的连接。然后可以使用PDO在连接上运行查询:
$conn->exec('SELECT * FROM table WHERE conditon = ?', array('value'));如果您想要能够使用DQL和远程模式,就必须按照您概述的方式来做:定义两个连接并在两个地方维护模式(您的版本控制应该能够处理这个问题)。
https://stackoverflow.com/questions/3807893
复制相似问题