29

我阅读了手册中关于 Doctrine 命名策略的章节。不幸的是,我不明白我必须把配置代码放在哪里。

为了获得下划线命名策略,我应该使用以下代码:

$namingStrategy = new \Doctrine\ORM\Mapping\UnderscoreNamingStrategy(CASE_UPPER);
$configuration()->setNamingStrategy($namingStrategy);

我应该把这个放在哪里?

我在 Symfony 2 上——我想这在配置方面很重要。

4

3 回答 3

41

配置它config.yml

doctrine:
    # ...

    orm:
        # ...
        naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
于 2012-10-03T06:26:46.740 回答
16

对于多个实体管理器:

doctrine:
    # ...
    orm:
        # ...
        entity_managers:
            default:
                naming_strategy: doctrine.orm.naming_strategy.underscore
                # ...
于 2014-02-11T09:19:03.100 回答
5

如果您使用 console.php 文件来运行 CLI,您可以将它放在那里。

<?php

//something...

$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);

$namingStrategy = new UpperCamelCaseNamingStrategy();
$config->setNamingStrategy($namingStrategy);

$em = EntityManager::create($dbParams, $config);

//something else...
于 2015-09-10T01:38:23.427 回答