11

Symfony 2 アプリケーションのエンティティを生成しようとしています。エンティティは複数のバンドル (およびおそらく複数のアプリケーション) によって共有されるため、エンティティをバンドルに属させたくありません。それらを src/MyApp/Entity フォルダーに入れたい。

src/MyApp/Entity/config/doctrine (class1.orm.yml, ...) に格納されているエンティティの YML を既に持っています。

doctrine:generate:entities タスクを使用して、対応する PHP クラスを生成しようとしています。

これが私の app/config/config.yml にあるものです

orm:
    auto_generate_proxy_classes: %kernel.debug%
    auto_mapping: false
    mappings: 
      AppRest: 
        type: yml 
        prefix: AppRest\Entity 
        dir: %kernel.root_dir%/../src/AppRest/Entity/config/doctrine

エンティティを生成するために使用するコマンドは次のとおりです

php app/console doctrine:generate:entities AppRest/Entity

ここに私が得る例外があります

[InvalidArgumentException]
Bundle "AppRest" does not exist or it is not enabled.

バンドル内にあるエンティティを生成しようとしていないことを教義に理解させたい。--pathオプション(--path=src/AppRest/Entity)も指定してみましたが、何も変わりませんでした。

誰でも助けることができますか?

編集

ディレクトリの余分なスペースを削除したことで、問題は解決しました。パス オプションを指定する必要があります

4

3 に答える 3

4

実際、上記の dir オプションにスペースがありませんでした。これは今はうまくいきますが、それが最善の方法かどうかはまだ疑問です.

于 2012-04-19T07:31:26.513 に答える
1

使用する:

is_bundle: false

詳細はこちら: http://zalas.eu/how-to-store-doctrine-entities-outside-of-a-symfony-bundle/

于 2015-03-10T14:16:14.997 に答える
-1

このようなエラーが発生した場合は、バンドル ディレクトリの名前ではなく、バンドルのショートカット名を指定したかどうかを確認してください。たとえば、Acme\DemoBundle がある場合、その短い名前は AcmeDemoBundle です。この場合

orm:
    mappings: 
      DemoBundle: 
          ....

間違っています。

正しいのは次のとおりです。

orm:
    mappings: 
      AcmeDemoBundle: 
          ....
于 2013-10-21T06:48:10.083 に答える