生成实体映射

  1. 在app/config/config.yml,app/config/parameters.yml配置数据库

  2. 创建一个Bundle

  3. 确保数据表结构没有问题,如:某个表没有主键

  4. 在./app/config.yml中,增加如下配置

     doctrine:
         dbal:
             driver:   pdo_mysql
             host:     "%database_host%"
             port:     "%database_port%"
             dbname:   "%database_name%"
             user:     "%database_user%"
             password: "%database_password%"
             charset:  UTF8
             #下面是增加的配置
             mapping_types:
                 enum: string
                 set: string
                 varbinary: string
                 tinyblob: text
    
  5. ①实体配置文件为注释:

     php bin/console doctrine:mapping:import DBBundle annotation --force --em="default"
     php bin/console doctrine:generate:entities DBBundle
     如果是多数据库则在以上代码后加上 --em=默认连接名
     默认连接名为config.yml中default_connection的值
    
  6. ②实体配置文件为XML

     php bin/console doctrine:mapping:import --force DBBundle xml
     php bin/console doctrine:mapping:convert xml ./src
     php bin/console doctrine:generate:entities DBBundle
     如果是多数据库则在以上代码后加上 --em=默认连接名
     默认连接名为config.yml中default_connection的值
    
  7. ③实体配置文件为yml(推荐)

     php bin/console doctrine:mapping:import --force DBBundle yml
     php bin/console doctrine:mapping:convert yml ./src
     php bin/console doctrine:generate:entities DBBundle
     如果是多数据库则在以上代码后加上 --em=默认连接名
     默认连接名为config.yml中default_connection的值
    
  8. 补充:

     php bin/console doctrine:generate:entities DBBundle:实体名
     你可以多次运行它,它会生成那些不存在的getters和setters,而不会替换已有的
    
@耿志环 2012-∞ 冀ICP备17033181号, powered by Gitbook修订: 2019-07-08 16:49:59

results matching ""

    No results matching ""