gpt4 book ai didi

symfony1 - 使用 Symfony/Doctrine 临时连接到外部数据库

转载 作者:行者123 更新时间:2023-11-30 23:58:42 25 4
gpt4 key购买 nike

概括:

我希望能够在用户登录时对外部数据库运行查询以获取一些所需的数据。我不希望该站点这样做 任何事情否则与外部数据库。从长远来看,它可能需要能够将数据推回,但具体来说,我不希望 symfony 尝试为外部数据库构建架构,它应该不理会它并不时允许连接。

细节:

我正在尝试创建到另一个 symfony 应用程序的数据库的临时连接,但我似乎无法弄清楚如何去做。

我有一个现有的 symfony 站点,该站点已设置并正在运行。我正在尝试为这个主站点的用户创建一种管理系统。管理系统将为选择加入它的每个用户提供单独的部署,因此它也将拥有与其关联的自己的数据库。但是,此管理系统需要从主站点系统访问 2 或 3 个表。

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

我想出的最好的主意是将 connection: management 放在我所有的管理系统表中,并将 connection: main_site 放在主站点的所有表中。但是,这需要我在管理系统和主站点上维护 yml 文件,以确保它们彼此保持最新状态。

我希望这甚至有点清楚。

感谢您的帮助:D

最佳答案

对于无法在远程站点上使用 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 和远程模式,则必须按照您概述的方式进行操作:定义两个连接并在两个位置维护模式(您的版本控制应该能够处理此问题)。

关于symfony1 - 使用 Symfony/Doctrine 临时连接到外部数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3807893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com