2016-06-24 3 views
1

私はこのようなDoctrineのエンティティのための私のSymfony3プロジェクトにカスタムマッピングの設定を持っている:Doctrine YAMLマッピングをサブフォルダで整理できますか?

MyModel: 
    type: yml 
    dir: %kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel 
    prefix: MyProject\MyModel\Model 
    is_bundle: false 

はのは、私は、エンティティMyProject\MyModel\Model\SubNamespace\MyEntityを持っていると仮定しましょう。今、ymlマッピングを%kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel/SubNamespace.MyEntity.orm.ymlに入れなければなりません。

接頭辞の後にネームスペースの部分を連結したファイル名ではなく、サブフォルダ内のマッピングファイルを整理できるようにDoctrineを設定できますか?この場合

%kernel.root_dir%/../src/AppBundle/Resources/config/doctrine/MyModel/SubNamespace/MyEntity.orm.yml

理由であるかどうマッピングディレクトリが成長していると、内部の任意の特定のファイルを見つけるのは難しいなってきたということです。

もちろん、すべてのサブフォルダの設定を行うことはできません。それはconfのファイルにあります;-)

答えて

1

、サブフォルダを処理するものは何もありません。しかし、その後のトリックは、私の知る限り、それらがあなたのsymfonyのバンドルに固執する必要はありません知っている、別の「マッピング」内の各フォルダを追加することができます

doctrine: 
    # ... 
    orm: 
     # ... 
     mappings: 
      AcmeBundleFoo: 
       type: yml 
       dir: AcmeBundle/Resources/doctrine/Foo 
      AcmeBundleBar: 
       type: yml 
       is_prefix: false # you are free to let Symfony guess it or to be explicit 
       dir: AcmeBundle/Resources/doctrine/Bar 

は少し冗長、それは与えられたYOUTを動作するはずですフォルダ構造はsrc/AcmeBundle/Resourcesです。

+0

私のソースを探していただきありがとうございます。 ;-)私はどこを見るか分からなかった。そして、はい、私はすべてのサブフォルダの設定を追加することができますが、私は私の質問の最後の文で述べたように、私のためのwon'y仕事。 –

0

はイエス:

source codeを見て
doctrine: 
    dbal: 
     driver: "%database_driver%" 
     #etc 

    orm: 
     auto_generate_proxy_classes: "%kernel.debug%" 
     auto_mapping: false //default was true 
     mappings: 
      MySuperBundleName: 
       type: yml 
       dir: Resources/somewhereElse/doctrine // your specific directory 
+0

'auto_mapping'私はディレクトリを変更します**しかし、Doctrineは'(...)/ doctrine/MyModel' **と**そのサブフォルダ** ** '(...)/ doctrine/MyModel/SubNamespace' –

関連する問題