我正在尝试使用Symfony2文档中描述的标准控制台命令从数据库生成实体:http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html。
此后,所有的表都可以正确生成。问题是它不会为数据库视图生成实体。例如,当我自己将yml文件添加到src/My/HomeBundle/Resources/config/doctrine/metadata/orm中时:
当运行
类似的问题在这里发布:如何在Symfony 2中设置用于数据库视图的实体(Doctrine)。
我知道我可以创建Entity类,但我希望能够生成此内容,以便如果更改视图,则可以重新生成Entity类。有什么建议吗?
php app/console doctrine:mapping:convert --from-database --force yml "src/My/HomeBundle/Resources/config/doctrine/metadata/orm"
php app/console doctrine:mapping:import MyHomeBundle yml
php app/console doctrine:generate:entities MyHomeBundle
此后,所有的表都可以正确生成。问题是它不会为数据库视图生成实体。例如,当我自己将yml文件添加到src/My/HomeBundle/Resources/config/doctrine/metadata/orm中时:
UserInGroup:
type: entity
table: user_in_group_view
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
generator:
strategy: IDENTITY
userId:
type: integer
unsigned: false
nullable: false
column: user_id
userGroupId:
type: integer
unsigned: false
nullable: false
column: user_group_id
lifecycleCallbacks: { }
当运行
php app/console doctrine:generate:entities MyHomeBundle
时,我会得到这个异常:Notice: Undefined index: My\HomeBundle\Entity\UserInGroup in C:\Users\ThisIsMe\Projects\SymfonyTestProject\vendor\doctrine\lib\Doctrine\ORM\Mapping\Driver\AbstractFileDriver.php line 121
类似的问题在这里发布:如何在Symfony 2中设置用于数据库视图的实体(Doctrine)。
我知道我可以创建Entity类,但我希望能够生成此内容,以便如果更改视图,则可以重新生成Entity类。有什么建议吗?