包含名称空间的Doctrine实体

时间:2017-05-25 15:06:47

标签: symfony doctrine-orm

我使用symfony3。拥有唯一的捆绑 - AppBundle。我使用yml进行注释。它们位于AppBundle \ Resources \ config \ doctrine中。如果我想要一个新实体 - 我创建新的.orm.yml文件,然后运行php bin/console doctrine:generate:entities AppBundle。一切正常。

一旦我为我的实体需要另一个命名空间。所以我在Filter文件夹中创建了一个文件夹doctrine。并在那里放置一个Category实体。然后调用'generate'命令。我有一个错误No mapping file found named 'Category.orm.yml' for class 'AppBundle\Entity\Filter\Category'.然后删除了Filter文件夹并调用该命令。一切都很好。所以问题出在另一个文件夹中。我尝试将Category放在doctrine文件夹中,但将名称空间保留在yml文件中(AppBundle \ Entity \ Filter \ Category)。这不起作用。

所以问题是:如何使用父命名空间为antity创建注释?

1 个答案:

答案 0 :(得分:0)

您可以使用php bin/console doctrine:generate:entity命令对其进行测试:

  

实体快捷方式名称: AppBundle:过滤器/类别

这是您的项目结构的生成方式。 doctrine目录中没有子目录,而是YAML文件名中的命名空间:

src/
└── AppBundle/
    ├── Entity/
    │   ├── Filter/
    │   │   └── Category.php
    │   └── SomeEntity.php
    └── Resources/
        └── config/
            └── doctrine/
                ├── Filter.Category.orm.yml
                └── SomeEntity.orm.yml