简体   繁体   English

Symfony2 Doctrine ORM 管理器名为“db2”不存在

[英]Symfony2 Doctrine ORM Manager named “db2” does not exist

I create YML entity, generate entity and config multiple connections我创建 YML 实体,生成实体并配置多个连接

config.yml配置文件

# Doctrine Configuration
doctrine:
dbal:
    default_connection: db1
    connections:
        db1:
            driver:   '%database_driver%'
            host:     '%database_host%'
            port:     '%database_port%'
            dbname:   '%database_name%'
            user:     '%database_user%'
            password: '%database_password%'
            charset:  UTF8
        db2:
            driver:   '%database_driver2%'
            host:     '%database_host2%'
            port:     '%database_port2%'
            dbname:   '%database_name2%'
            user:     '%database_user2%'
            password: '%database_password2%'
            charset:  UTF8
    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true

my orm.yml我的 orm.yml

TestBundle\Entity\Test:
type: entity
table: Test
id:
    id:
        type: integer
        nullable: false
        options:
            unsigned: true
        id: true
fields:
    name:
        type: string
        nullable: false
        length: 255
        options:
            fixed: false
lifecycleCallbacks: {  }

after clean cache and generate entities, I try to run this code (in command controller)清理缓存并生成实体后,我尝试运行此代码(在命令控制器中)

<?php 

...

protected function execute(InputInterface $input, OutputInterface $output)
{
    $doctrine = $this->getContainer()->get('doctrine')->getManager('db2');
    //both methods cant work :( db2_entity_manager not found
    $doctrine = $this->getContainer()->get('doctrine.orm.db2_entity_manager');

    $test = $doctrine->getRepository('DionisDataBaseBundle:Test');

}

And I have error:我有错误:

[InvalidArgumentException] [无效参数异常]
Doctrine ORM Manager named "db2" does not exist.名为“db2”的 Doctrine ORM 管理器不存在。

change config.yml to将 config.yml 更改为

 orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    default_entity_manager: db1
    entity_managers:
        db1:
            connection: db1
            mappings:
                DionisDataBaseBundle: ~
        db2:
            connection: db2
            mappings:
                DionisDataBaseBundle: ~
        db3:
            connection: db2
            mappings:
                DionisDataBaseBundle: ~

you just declared connections but no entity manager, from one of my projects :您刚刚从我的一个项目中声明了连接但没有实体管理器:

doctrine:
    dbal:

        default_connection: default
        connections:
            default:
                host:     "%database_host%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                driver_class:  Realestate\MssqlBundle\Driver\PDODblib\Driver
                mapping_types:
                    enum: string
                    string: string
                # schema_filter: ~^(sf_fos_user)~
            prod:
                host:     *****
                dbname:   ****
                user:     "%database_user%"
                password: "%database_password%"
                driver_class:   Realestate\MssqlBundle\Driver\PDODblib\Driver
                mapping_types:
                    enum: string
                    string: string
                # schema_filter: ~^(sf_fos_user)~

    orm:
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                mappings:
                    AppBundle: ~
                    Bundle2: ~
            db2:
                connection: prod
                mappings:
                    otherBundle: ~
        auto_generate_proxy_classes: "%kernel.debug%"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 不存在名为“客户”的Symfony2学说ORM管理器 - Symfony2 Doctrine ORM Manager named “customer” does not exist Symfony2和Doctrine - @ORM \\ PostPersist()不起作用 - Symfony2 and Doctrine - @ORM\PostPersist() does not work Symfony2 DB2学说:无法创建数据库 - Symfony2 DB2 doctrine: Could not create database Symfony2 WebProfiler(500):第1行的@ Doctrine / Collector / db.html.twig中不存在变量“ app” - Symfony2 WebProfiler (500): Variable “app” does not exist in @Doctrine/Collector/db.html.twig at line 1 Symfony Doctrine ORM - 运行迁移时列名不存在 - Symfony Doctrine ORM - Column name does not exist when running migration Symfony2 / Doctrine2无法使用ibm_db2客户端连接到IBM DB2数据库 - Symfony2 / Doctrine2 can't connect to IBM DB2 database using ibm_db2 client Symfony2 - Doctrine异常:鉴别器映射中使用的类不存在 - Symfony2 - Doctrine exception: class used in the discriminator map does not exist Symfony2 WebProfiler(500):键“默认”不存在,因为@ Doctrine / Collector / db.html.twig中第209行的数组为空 - Symfony2 WebProfiler (500): Key “default” does not exist as the array is empty in @Doctrine/Collector/db.html.twig at line 209 Symfony2 Doctrine ORM复合主键 - Symfony2 Doctrine ORM Composite Primary Keys Symfony2 Doctrine ORM级联分离不起作用 - Symfony2 Doctrine ORM cascade detach not working
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM