Kos*_*sta 9 symfony doctrine-orm
我正在尝试使用标准控制台命令从数据库生成实体,如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
Run Code Online (Sandbox Code Playgroud)
在此之后,所有表都正确生成.问题是这不会为数据库视图生成实体.当我自己将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: { }
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到此异常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
Run Code Online (Sandbox Code Playgroud)
类似的问题发布在这里:如何在Symfony 2中为数据库视图设置实体(学说)
我知道我可以创建实体类,但我希望我能够生成这样的内容,所以如果我改变了我的视图,我就可以重新生成实体类.有什么建议?
现在您只需创建您的 orm 文件。您还需要执行 2 个步骤。我将为您提供从头开始的完整步骤。
在执行此操作之前,请删除您之前创建的 orm 目录中的所有 yml 文件。
我希望 MyHomeBundle 是您的捆绑包名称
1).php app/console doctrine:mapping:convert yml ./src/My/HomeBundle/Resources/config/doctrine --from-database --force
Symfony2 generate entity from Database
2).php app/console doctrine:mapping:import MyHomeBundle yml
3).php app/console doctrine:generate:entities MyHomeBundle
Run Code Online (Sandbox Code Playgroud)
希望这对您有帮助。
归档时间: |
|
查看次数: |
18573 次 |
最近记录: |