摘要:
我希望能够针对外部数据库运行查询,以便在用户登录时获取所需的数据.我不希望此站点对外部数据库执行任何其他操作.从长远来看,它可能需要能够推回数据,但具体来说,我不希望symfony尝试为外部数据库构建架构,它应该不管它并且不时允许连接.
细节:
我正在尝试创建一个临时连接到另一个symfony应用程序的数据库,我似乎无法弄清楚如何做到这一点.
我有一个已建立并运行的现有symfony站点.我正在尝试为这个主站点的用户创建一种管理系统.管理系统将为每个选择加入它的用户进行单独部署,因此它也将拥有与之关联的自己的数据库.但是,此管理系统需要从主站点系统访问2或3个表.
我已经尝试在管理系统中的databases.yml中添加单独的条目来创建与两个数据库的连接,但是每当我构建所有数据库时,它都希望将我的模式放在两个数据库中.
我想出的最好的想法是在管理系统的所有表中放置连接:管理,并在主站点的所有表中放置连接:main_site.但是,这需要我在管理系统和主站点上维护yml文件,以确保它们彼此保持最新.
我希望这一点有点清楚.
谢谢你的帮助:D
对于无法在远程站点上使用DQL的临时连接,只需通过Doctrine_Manager以下方式打开连接:
$conn = Doctrine_Manager::getInstance()->openConnection('mysql://username:password@localhost/database', 'connection 2', false);
Run Code Online (Sandbox Code Playgroud)
确保第3个参数为false,以便它不会成为当前连接.然后,您可以使用PDO在连接上运行查询:
$conn->exec('SELECT * FROM table WHERE conditon = ?', array('value'));
Run Code Online (Sandbox Code Playgroud)
如果您希望能够使用DQL和远程模式,则必须按照您概述的方式执行此操作:定义两个连接并在两个位置维护模式(您的版本控制应该能够处理此问题).
| 归档时间: |
|
| 查看次数: |
2382 次 |
| 最近记录: |