make:entity 某些现有实体失败

make:entity fails for some existing entites

我喜欢使用 make:entity MyEntity 修改实体(添加字段、getter、setter)。通常它给出输出:

$ sym make:entity MyEntity
Your entity already exists! So let's add some new fields!

但是,对于某些实体,这将导致

$ sym make:entity SomeOtherEntity
[ERROR] The file "src/Repository/SomeOtherEntity.php" can't be generated because it already exists.

实体之间的区别在于它们的位置:

MyEntity 在 src/Entity

SomeOtherEntity 在 src/Domain/Model

但是,正如我添加的那样,实体都包含在配置中

Model:
    is_bundle: false
    type: annotation
    dir: '%kernel.project_dir%/src/Domain/Model'
    prefix: 'App\Domain\Model'
    alias: Model
App:
    is_bundle: false
    type: annotation
    dir: '%kernel.project_dir%/src/Entity'
    prefix: 'App\Entity'
    alias: App

例如迁移工作正常。只是 make:entity 失败了。 问题是,我可以对不在默认位置的实体使用 make:entity 吗?

如有任何提示,我们将不胜感激。

是的,你可以。

为了使用命令 make:entity 在不同的命名空间中创建全新的实体,您可以使用命令:

php bin/console make:entity \App\Domain\Model\SomeOtherEntity

如果您对现有实体使用 make:entity,您应该在命令中添加标志 --regenerate

因此,为现有实体重新生成 getter 和 setter 的命令看起来会有点不同:

php bin/console make:entity --regenerate App\Domain\Model\SomeOtherEntity