Symfony 4 getter setter不是从现有数据库生成的

Symfony 4 getter setter不是从现有数据库生成的,symfony,doctrine,Symfony,Doctrine,我知道要从symfony 4中的现有数据库生成实体,只需执行以下命令: > php bin/console doctrine:generate:entities 但这个命令不生成getter setter,只从列生成变量 当然,我必须使用一些肮脏的工作来手动创建它 我可能错过了阅读文档,如何使用doctrine symfony 4从现有数据库生成实体getter setter?: 如果您希望手动添加新属性,make:entity命令可以为您生成getter和setter方法: php-b

我知道要从symfony 4中的现有数据库生成实体,只需执行以下命令:

> php bin/console doctrine:generate:entities
但这个命令不生成getter setter,只从列生成变量

当然,我必须使用一些肮脏的工作来手动创建它

我可能错过了阅读文档,如何使用doctrine symfony 4从现有数据库生成实体getter setter?

: 如果您希望手动添加新属性,make:entity命令可以为您生成getter和setter方法:

php-bin/console-make:entity-regenate

如果您进行了一些更改,并希望重新生成所有getter/setter方法,请同时传递--overwrite。“


还请注意,对于Symfony 3(我不了解v4),
原则:生成:实体
不适用于受保护的属性

要从现有数据库生成实体类,您需要要求原则对数据库进行内省并生成相应的元数据文件。元数据文件描述基于表字段生成的实体类

> php bin/console doctrine:mapping:import App\\Entity annotation --path=src/Entity
此命令将生成新的PHP类,并将注释元数据转换为src/Entity 要生成缺少的getter/setter方法(或在必要时创建类),请运行:


也可以选中

从现有数据库中执行此操作,您可以使用反向工程。遵循以下步骤:

  • 在.env文件中配置数据库
  • 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,可以添加getter和setter安装php-getter-setter.vim插件并在每个实体中键入:

    :%InsertBothGetterSetter

  • 必须在每个实体中手动添加:

    名称空间App\Entity

  • 可能重复:
    php bin/console doctrine:mapping:convert --from-database --filter="Tablename" annotation ./src/Entity