【发布时间】:2012-04-07 16:35:43
【问题描述】:
我正在尝试使用标准控制台命令从数据库生成实体,如 Symfony2 文档中所述:http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html。
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
在这里发布了类似的问题:How to set up entity (doctrine) for database view in Symfony 2
我知道我可以创建实体类,但我希望我可以生成它,所以如果我改变我的观点,我可以重新生成实体类。有什么建议吗?
【问题讨论】:
标签: symfony doctrine-orm