我正在尝试为Symfony 2应用程序生成实体。实体将由几个包(可能是几个应用程序)共享,因此我不希望它们属于一个包。 我希望它们位于src / MyApp / Entity文件夹中。
我的实体已经有了YML,存储在src / MyApp / Entity / config / doctrine(class1.orm.yml,...)
我正在尝试使用doctrine生成相应的PHP类:generate:entities任务
以下是我在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),但它没有改变任何东西。
有人可以帮忙吗?
修改:
我删除了我的目录中的额外空间,这解决了问题。路径选项必须指定
答案 0 :(得分:3)
实际上,我在上面的dir选项中错过了一个空格。这现在有效,但我仍然想知道这是否是最佳方式。
答案 1 :(得分:1)
使用:
is_bundle: false
更多信息: http://zalas.eu/how-to-store-doctrine-entities-outside-of-a-symfony-bundle/
答案 2 :(得分:-1)
如果出现此类错误,请检查是否指定了捆绑包的快捷方式名称,而不是捆绑包目录的名称。例如,如果你有Acme \ DemoBundle,它的短名称是AcmeDemoBundle。在这种情况下
orm:
mappings:
DemoBundle:
....
是不正确的。
正确的是:
orm:
mappings:
AcmeDemoBundle:
....