Я знаю, что для создания объекта из существующей базы данных в symfony 4 просто выполните эту команду:
> php bin/console doctrine:generate:entities
но эта команда не генерирует установщик геттера, просто генерирует переменную из столбца.
и, конечно же, мне придется потрудиться, чтобы создать его вручную.
может быть я пропустил чтение документации, как сгенерировать установщик получателя сущностей из существующей базы данных с помощью доктрины symfony 4?




DOC говорит: "Если вы предпочитаете добавлять новые свойства вручную, команда make: entity может сгенерировать для вас методы получения и установки:
php bin/console make:entity --regenerate
Если вы вносите некоторые изменения и хотите восстановить все методы получения / установки, также передайте --overwrite. "
Также обратите внимание, что с Symfony 3 (я не про v4) doctrine:generate:entities не работал со свойствами protected.
Чтобы сгенерировать классы сущностей из существующей базы данных, вам нужно попросить Doctrine проанализировать базу данных и сгенерировать соответствующие файлы метаданных. Файлы метаданных описывают класс сущности, который создается на основе полей таблицы.
> php bin/console doctrine:mapping:import App\\Entity annotation --path=src/Entity
Эта команда сгенерирует новые классы PHP с метаданными аннотации в src / Entity. Чтобы сгенерировать недостающие методы получения / установки (или, если необходимо, создать классы), запустите:
> php bin/console make:entity --regenerate App
Также проверьте Официальная документация
Для этого из существующей базы данных вы можете использовать обратный инжиниринг. Следуй этим шагам:
2.1. создайте объект из вашей настроенной базы данных с помощью:
php bin/console doctrine:mapping:convert --from-database annotation ./src/Entity
2.2. если вы хотите создать объект для одной конкретной таблицы:
php bin/console doctrine:mapping:convert --from-database --filter = "Tablename" annotation ./src/Entity
если вы используете vim, вы можете добавить геттеры и сеттеры, установив плагин php-getter-setter.vim и введя каждый объект:
:% InsertBothGetterSetter
вы должны добавить вручную в каждую сущность:
пространство имен App \ Entity;
Возможный дубликат: stackoverflow.com/questions/21317022/…