gpt4 book ai didi

symfony - 如何从带有学说和symfony2的数据库 View 中生成实体

转载 作者:行者123 更新时间:2023-12-04 04:39:01 24 4
gpt4 key购买 nike

我正在尝试使用标准控制台命令从数据库生成实体,如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

此后,将正确生成所有表。问题在于这不会为数据库 View 生成实体。例如,当我自己将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

我知道我可以创建实体类,但是我希望可以生成该实体类,因此,如果更改 View ,则可以重新生成实体类。有什么建议么?

最佳答案

现在,您仅创建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

希望这对您有所帮助。

关于symfony - 如何从带有学说和symfony2的数据库 View 中生成实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9833752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com