首先,在doctrine.yaml中配置好ORM的mappings。
如下:
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: yml
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
其次,生成映射关系,也就是生成ORM。
Windows下执行:php bin/console doctrine:mapping:import App\Entity yml --path=src/doctrine
Linux 下执行:sudo php bin/console doctrine:mapping:import App\Entity yml --path=src/doctrine
最后,生成实体。
Windows下执行:php bin/console make:entity --regenerate App
Linux 下执行:sudo php bin/console make:entity --regenerate App
执行本语句时可能会提示有误,在此中情况下删除所有Entity下的所有文件,然后再次执行该语句。
参考资料:https://symfony.com/doc/current/doctrine/reverse_engineering.html