【问题标题】:Doctrine entity with namespace within a bundle捆绑中具有命名空间的教义实体
【发布时间】:2017-05-25 15:06:47
【问题描述】:

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

曾经我的实体需要另一个命名空间。所以我在doctrine 文件夹中创建了一个文件夹Filter。并在那里放置一个Category 实体。然后调用“生成”命令。我有一个错误No mapping file found named 'Category.orm.yml' for class 'AppBundle\Entity\Filter\Category'. 然后删除了Filter 文件夹并重新调用命令。一切正常。所以问题出在另一个文件夹中。我试图将Category 放在doctrine 文件夹中,但将命名空间保留在yml 文件(AppBundle\Entity\Filter\Category)中。那是行不通的。

那么问题是:如何为具有父命名空间的antity创建注解?

【问题讨论】:

    标签: symfony doctrine-orm


    【解决方案1】:

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

    实体快捷方式名称:AppBundle:Filter/Category

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

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

    【讨论】:

    • 有效!所以没有子目录,只点作为命名空间分隔?
    猜你喜欢
    • 2013-01-02
    • 2013-10-15
    • 1970-01-01
    • 2019-02-02
    • 2014-11-02
    • 2017-07-16
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    相关资源
    最近更新 更多