Symfony 4 Doctrine逆向工程问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony 4 Doctrine逆向工程问题相关的知识,希望对你有一定的参考价值。
我试图使用doctrine从mysql数据库生成symfony 4中的实体。
首先,我在名为AppBundle的目录中创建了一个名为AppBundle.php的包
然后我使用以下方法生成模式的xml:
php bin/console doctrine:mapping:import --force AppBundle xml
这将在AppBundle文件夹中创建一个名为Resources的文件夹,然后在另一个名为config和doctrine的文件夹中创建,所有orm.xml文件都放在那里。
然后我尝试使用以下方法生成实体:
php bin/console doctrine:mapping:convert annotation ./src/Entity
这将在Entity文件夹中创建以下文件夹:
- 实体 应用 的appbundle 实体
并且所有.php实体文件都放在第二个Entity文件夹中。
.php实体文件具有以下命名空间
namespace AppAppBundleEntity;
在我的控制器中,我添加了名称空间
use AppAppBundleEntityUser;
并使用学说来获取
$users = $this->getDoctrine()
->getRepository(User::class)
->findAll();
但是当我运行应用程序时,我收到此错误
现在,当我将第二个Entity文件夹移动到AppBundle文件夹中时。该应用程序工作。
有没有办法生成没有Symfony的实体生成App文件夹或AppBundle文件夹?
- 在Symfony 4中,AppBundle已被弃用。建议将所有代码放在 App namespace(
AppEntityUser
)中。它现在是所有Symfony生成器的默认行为。 - 如果你想使用一个包,你应该:
2.1。配置像
orm:
mappings:
AppBundle:
is_bundle: true
type: xml
prefix: 'AppBundleEntity'
2.2这样的学说。使用php bin/console doctrine:mapping:convert annotation ./src
您还应该正确配置composer autoload和Symfony配置。
以上是关于Symfony 4 Doctrine逆向工程问题的主要内容,如果未能解决你的问题,请参考以下文章
APC 没有为 Symfony.4/Doctrine 应用程序带来任何性能提升?
无法在 Symfony 4.1 项目中安装 Doctrine Migrations V2
Symfony2 2.3.7 -Doctrine 2.4.1:ManyToMany 关系未保存到数据库
Symfony 4:调用 getter 后,Doctrine2 LAZY Fetch Collection 仍然为空
Symfony3.4 / Doctrine迁移 - 驱动程序中发生异常:SQLSTATE [HY000] [2002]没有这样的文件或目录