Ответ 1
Собственно, мне просто не хватало пробела в моем списке опций выше. Это работает сейчас, но мне все еще интересно, лучший ли это путь.
Я пытаюсь сгенерировать объекты для моего приложения 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/Entity), но ничего не изменил.
Может ли кто-нибудь помочь?
Изменить:
Я удалил лишнее место в моем директории, который решил проблему. Параметр пути должен быть указан
Собственно, мне просто не хватало пробела в моем списке опций выше. Это работает сейчас, но мне все еще интересно, лучший ли это путь.
Использование:
is_bundle: false
Подробнее здесь: http://zalas.eu/how-to-store-doctrine-entities-outside-of-a-symfony-bundle/
Если у вас есть такая ошибка, проверьте, указано ли имя ярлыка пакета, а не имя каталога пакета. Например, если у вас есть Acme\DemoBundle, это будет AcmeDemoBundle. В этом случае
orm:
mappings:
DemoBundle:
....
НЕПРАВИЛЬНО.
правильный:
orm:
mappings:
AcmeDemoBundle:
....