我有一个有两个数据库连接的应用程序。第一个数据库是应用程序自己的数据库,第二个数据库来自另一个应用程序(同一个服务器,不同的子域)。
对于第二个数据库上的SQL查询,我使用服务。
的 services.yml
login.company:
class: JP\CoreBundle\Service\Login\CompanyService
arguments:
em: "@doctrine.orm.login_entity_manager"
的 CompanyService.php
class CompanyService {
private $_em;
public function __construct(EntityManager $em){
$this->_em = $em;
}
public function getSomethingBySomething($something){ // Intentionally obscured method and parameter name
$conn = $this->_em->getConnection();
$sql = ''; // Intentionally removed SQL query
$stmt = $conn->prepare($sql);
$stmt->bindParam('something', $something); // Intentionally obscured real name to something
$stmt->execute();
return ($stmt->rowCount() == 1) ? $stmt->fetch(Query::HYDRATE_ARRAY) : false;
}
}
的 config.yml
doctrine:
dbal:
default_connection: analysis
connections:
analysis:
driver: "%database_driver1%"
host: "%database_host1%"
port: "%database_port1%"
dbname: "%database_name1%"
user: "%database_user1%"
password: "%database_password1%"
charset: UTF8
login:
driver: "%database_driver2%"
host: "%database_host2%"
port: "%database_port2%"
dbname: "%database_name2%"
user: "%database_user2%"
password: "%database_password2%"
charset: UTF8
orm:
default_entity_manager: analysis
entity_managers:
analysis:
connection: analysis
mappings:
JPCoreBundle: ~
login:
connection: login
auto_generate_proxy_classes: "%kernel.debug%"
问题:在Symfony2环境中正确使用多个数据库吗?它可以以某种方式改进吗?
答案 0 :(得分:1)
这是否正确使用Symfony2中的多个数据库 环境?
这是在Symfony2中正确使用多个数据库。
能以某种方式改进吗?
与Symfony2中多个数据库的使用没有直接关系的唯一改进(如注释中所述)是使用DQL或QueryBuilder而不是直接使用连接。