symfony之如何使用 Symfony2 创建第二个数据库连接
xiaohuochai
阅读:17
2024-09-07 23:24:14
评论:0
我正在尝试将第二个数据库连接到我在 Symfony2 中的项目。首先,我在 parameters.yml
中添加了一些参数来创建连接。
然后,我编辑了我的 config.yml
,现在看起来像:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
circutor3:
driver: pdo_sqlsrv
host: "%database_host_circutor3%"
port: "%database_port_circutor%"
dbname: "%database_name_circutor%"
user: "%database_user_circutor3%"
password: "%database_password_circutor3%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
最后,我尝试在我的 Controller 中使用以下代码建立连接:
$em = $this->getDoctrine()->getManager('circutor3');
并且,Symfony2 返回的错误:
Doctrine ORM Manager named "circutor3" does not exist.
circutor3 连接到我系统外部的数据库,因此我不需要创建实体或对象。我只需要执行一些 SELECT
来获取信息并使用数组存储它。
创建典型的 mysqli
连接是解决我的问题的最佳方法吗? 我不知道如何用 Symfony 解决这个问题。 提前谢谢你。
请您参考如下方法:
您可以按如下方式访问 Controller 中的数据库连接:
$connection = $this->getDoctrine()->getConnection('circutor3');
然后将连接用作:
$stmt = $connection->prepare($sql);
$stmt->execute();
return $stmt->fetchAll();
希望对你有帮助
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。