2012-10-03 13 views
19

マニュアルのDoctrine命名方法については、chapterを読んでいます。残念ながら、私は設定コードをどこに置かなければならないのか分かりません。Doctrine 2のネーミング戦略を構成する方法

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

私はこれを置く必要があります。ためには

は、私はこのコードを使用する必要があり、アンダースコア命名戦略を取得しますか?

私はSymfony 2を使用しています - これは設定に関して重要なことだと思います。 config.yml

答えて

33

設定して:複数のエンティティマネージャの

doctrine: 
    # ... 

    orm: 
     # ... 
     naming_strategy: doctrine.orm.naming_strategy.underscore 
+0

これは最新の開発版(https://github.com/doctrine/DoctrineBundle/pull/90)でのみ動作すると思います。私はこの設定オプションを含んでいない2.2です。 – BetaRide

+0

私はこの設定オプションをサポートするDoctrineBundleを含むSymfony SE 2.1.2を使用しています。あなたはまだアップグレードしていませんか? ;) –

+1

申し訳ありません。それは正常に動作しています。私は複数のエンティティマネージャを持っているので、エンティティマネージャごとにオプションが設定されていることを知る必要がありました。 – BetaRide

12

doctrine: 
    # ... 
    orm: 
     # ... 
     entity_managers: 
      default: 
       naming_strategy: doctrine.orm.naming_strategy.underscore 
       # ... 
+1

"default"エンティティマネージャを追加した後、この問題に遭遇します。 '認識できないオプション "naming_strategy、a uto_mapping" doctrine.orm "の下 かなり愚かな私はそれを把握しませんでした。しかし、クイック検索が私をここで指摘してくれました。ありがとう! –

3

あなたはCLIを実行するためにconsole.phpファイルを使用している場合は、そこにそれを置くかもしれません。

関連する問題