首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 4原理逆向工程问题

Symfony 4原理逆向工程问题
EN

Stack Overflow用户
提问于 2018-02-28 13:31:23
回答 1查看 1.1K关注 0票数 2

我正在尝试使用理论从mysql数据库生成symfony 4中的实体。

首先,我在一个名为AppBundle.php的目录中创建了一个名为AppBundle的包

然后使用以下方法生成模式的xml:

代码语言:javascript
复制
php bin/console doctrine:mapping:import --force AppBundle xml

这将在AppBundle文件夹中创建一个名为Resources的文件夹,然后再创建另一个名为config和orm.xml的文件夹,并将所有orm.xml文件放入其中。

然后,我尝试使用以下方法生成实体:

代码语言:javascript
复制
php bin/console doctrine:mapping:convert annotation ./src/Entity

这将在实体文件夹中创建以下文件夹:

  • 实体
    • 应用程序
    • AppBundle
      • 实体

所有.php实体文件都放在第二个实体文件夹中。

.php实体文件具有以下命名空间

代码语言:javascript
复制
namespace App\AppBundle\Entity;

在我的控制器中,我添加了名称空间

代码语言:javascript
复制
use App\AppBundle\Entity\User;

用理论来获取

代码语言:javascript
复制
$users = $this->getDoctrine()
        ->getRepository(User::class)
        ->findAll();

但是当我运行应用程序时,我会得到这个错误。

现在,当我将第二个实体文件夹移到AppBundle文件夹中时。应用程序起作用了。

是否有一种方法可以生成实体,而不需要Symfony生成App文件夹或AppBundle文件夹?

EN

回答 1

Stack Overflow用户

发布于 2018-03-02 20:35:10

  1. 在Symfony 4中,AppBundle是不推荐的。推荐的方法之一是将所有代码放在\App命名空间(\App\Entity\User)中。它现在是所有Symfony生成器的默认行为。
  2. 如果您想要使用包,您应该:

2.1。配置原则,如orm: mappings: AppBundle: is_bundle: true type: xml prefix: 'AppBundle\Entity' 2.2。使用php bin/console doctrine:mapping:convert annotation ./src

另外,您还应该正确配置composer、autoload和Symfony吐露。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49030783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档