Symfony2/Доктрина2: Создание сущностей, которые находятся за пределами пакета


Я пытаюсь создать сущности для своего приложения Symfony 2. Сущности будут совместно использоваться несколькими пакетами (и, возможно, несколькими приложениями), и поэтому я не хочу, чтобы они принадлежали к одному пакету. Я хочу, чтобы они были в папке src/MyApp/Entity.

У меня уже есть YML для моих сущностей, хранящихся в src/MyApp/Entity/config/doctrine (class1.orm.yml,...)

Я пытаюсь сгенерировать соответствующие классы PHP, используя задачу doctrine:generate:entities

Вот что у меня есть в моем приложении/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/Сущность), но это ничего не изменило.

Кто-нибудь может помочь?

Редактировать:

Я удалил лишнее пространство в своем каталоге, что решило проблему проблема. Параметр пути должен быть указан

Author: David, 2012-04-18

3 answers

На самом деле, мне просто не хватало места в моем варианте dir выше. Сейчас это работает, но я все еще задаюсь вопросом, лучший ли это путь.

 3
Author: David, 2012-04-19 07:31:26

Использование:

is_bundle: false

Более подробная информация здесь: http://zalas.eu/how-to-store-doctrine-entities-outside-of-a-symfony-bundle/

 1
Author: tomazahlin, 2015-03-10 14:16:14

При возникновении такой ошибки проверьте, указали ли вы имя ярлыка пакета, а не имя каталога пакета. Например, если у вас есть Acme\DemoBundle, его краткое имя - AcmeDemoBundle. В этом случае

orm:
    mappings: 
      DemoBundle: 
          ....

НЕВЕРНО.

Правильно:

orm:
    mappings: 
      AcmeDemoBundle: 
          ....
 -1
Author: pleerock, 2013-10-21 06:48:10