主义实体生成器

Dav*_*veW 5 symfony doctrine-orm

美好的一天,

在Symfony 2框架中创建新项目时,我对Doctrine实体生成器几乎没有任何问题.

出于测试目的,我有以下名为users的表:id INT PK

username VARCHAR(80)
password VARCHAR(150)
salt VARCHAR(100)
email VARCHAR(100)
Run Code Online (Sandbox Code Playgroud)

我没有问题就创建了新项目.我打电话给我的新捆绑MyTestBundle.

完成数据库设计后,我php app/console doctrine:mapping:convert yml ./src/My/TestBundle/Resources/config/doctrine/metadata/orm --from-database --force用来将数据库模式映射到Yaml格式文件.然后我使用php app/console doctrine:mapping:import MyTestBundle annotationphp app/console doctrine:generate:entities MyTestBundle导入映射并生成实体.

关于实体生成我几乎没有什么重要问题:

  1. 为什么它会创建名为Users而不是User的实体?当我尝试修改位于./src/My/TestBundle/Resources/config/doctrine/metadata/orm生成器中的yml文件时似乎忽略它们.有小费吗?

  2. 我需要实现我的自定义角色提供程序.这就是为什么我为角色存储创建了两个额外的表(下面的简化模式):
    roles: id INT PK, name VARCHAR(50)
    users_roles: id INT PK, user_id INT, role_id INT 为什么生成器忽略了这种关系?它在UsersRoles类中创建正确的关系,但在角色或用户实体中不创建.我错过了什么吗?

任何帮助/解释将非常感激.

编辑
我注意到非常奇怪的事情:我创建了简单的Yaml模式并将其放入./src/MyTestBundle/resources/config/doctrine/metadata/orm,我调用了这个文件User.orm.yml.现在,当我尝试导入映射或生成实体时,我得到以下错误Bundle "MyTestBundle" does not contain any mapped entities.

温暖的问候,
戴夫