make: entity не работает для некоторых существующих объектов - PullRequest
1 голос
/ 26 мая 2019

Мне нравится использовать make:entity MyEntity для изменения сущностей (добавить поля, геттеры, сеттеры). Обычно это дает вывод:

$ 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 для объектов, которые не находятся в расположении по умолчанию?

Любая подсказка будет признательна.

1 Ответ

1 голос
/ 26 мая 2019

Да, вы можете.

Чтобы создать совершенно новый объект в другом пространстве имен с помощью команды make:entity, вы можете использовать команду:

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

Если вы используете make: entity для существующих сущностей, вы должны добавить к команде флаг --regenerate.

Таким образом, команда для регенерации геттеров и сеттеров для существующей сущности будет выглядеть немного иначе:

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

...