gpt4 book ai didi

Symfony2 : Connect to additional database, 没有所有附加功能?

转载 作者:行者123 更新时间:2023-12-04 23:51:22 24 4
gpt4 key购买 nike

我希望连接到另一个数据库来运行一些任意查询,但不想使用实体和存储库等来描述数据。 Symfony 不会“拥有”这些数据或管理有关它的任何内容。我只是在寻找有关如何的建议:

  • 将连接参数放入我的 config.yml 文件(和 parameters.yml)
  • Connect 使用 Symfony 组件(Doctrine?)来运行准备好的语句。

  • 我能找到的唯一类似问题是 Temporary Connection to External Database with Symfony/Doctrine ,但这似乎适用于自 Doctrine_Manager 以来的 Symfony 1 Symfony 2 中不存在。

    最佳答案

    http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html

    展示了如何设置多个 Doctrine 2 DBAL 连接(忽略实体管理器部分)。

    doctrine:
    dbal:
    default_connection: default
    connections:
    default:
    driver: "%database_driver%"
    host: "%database_host%"
    port: "%database_port%"
    dbname: "%database_name%"
    user: "%database_user%"
    password: "%database_password%"
    charset: UTF8
    customer:
    driver: "%database_driver2%"
    host: "%database_host2%"
    port: "%database_port2%"
    dbname: customer
    user: "%database_user2%"
    password: "%database_password2%"
    charset: UTF8

    这将产生一个名为:doctrine.dbal.customer_connection 的服务,您可以从服务容器中提取它。

    DBAL 连接是围绕标准 PHP PDO 连接对象的瘦包装器。

    http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html

    显示如何使用连接。与 PDO 对象基本相同。

    您也可以使用 PDO 对象本身创建一个服务。我没有一个方便的例子,但它很容易做到。这将完全消除对 Doctrine 2 的需要。

    关于Symfony2 : Connect to additional database, 没有所有附加功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285248/

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