douchuntang2827
2012-04-18 15:22
浏览 51
已采纳

Symfony2 / Doctrine2:生成捆绑包外的实体

I'm trying to generate entities for my Symfony 2application. The entities will be shared by several bundles (and maybe several applications), and thus I do not want them to belong to a bundle. I want them to be in the src/MyApp/Entity folder.

I already have the YML for my entities, stored in src/MyApp/Entity/config/doctrine (class1.orm.yml, ...)

I'm trying to generate the corresonding PHP classes using the doctrine:generate:entities task

Here is what I have in my 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

Here is the command I use to generate the entities

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

Here is the exception I get

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

I want to make doctrine understand that I'm not trying to generate entities tha are in a bundle. I also tried specifying the --path option (--path=src/AppRest/Entity), but it did not change anything.

Can anyone help ?

Edit:

I removed the extra space in my dir, which solved the problem. The path option must be specified

图片转代码服务由CSDN问答提供 功能建议

我正在尝试为Symfony 2应用程序生成实体。 实体将由几个包(可能是几个应用程序)共享,因此我不希望它们属于一个包。 我希望它们位于src / MyApp / Entity文件夹中。 \ n

我的实体已经有了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
nn

这是我用来生成实体的命令

 < 代码> php app / console doctrine:generate:entities AppRest / Entity 
   
 
 

这是我得到的例外

  [InvalidArgumentException] 
Bundle“AppRest”不存在或不存在 启用。
   
 
 

我想让学说理解我不是要生成捆绑中的实体。 我也试过指定--path选项(--path = src / AppRest / Entity),但它没有改变任何东西。

任何人都可以帮忙吗? \ n

编辑

我删除了我的目录中的额外空间,这解决了问题。 路径选项必须指定

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • douju1953 2012-04-19 07:31
    已采纳

    Actually, I was just missing a space in my dir option above. This works now, but I'm still wondering whether that's the best way to go.

    点赞 打赏 评论
  • dtzd65908 2013-10-21 06:48

    When you have such error, check if you specified the shortcut name of the bundle, not the name of the bundle directory. For example, if you have Acme\DemoBundle the shortname of it is AcmeDemoBundle. In this case

    orm:
        mappings: 
          DemoBundle: 
              ....
    

    is INCORRECT.

    the correct is:

    orm:
        mappings: 
          AcmeDemoBundle: 
              ....
    
    点赞 打赏 评论
  • doudan1123 2015-03-10 14:16
    点赞 打赏 评论

相关推荐 更多相似问题