2014-05-20 44 views
0

我曾与YAML格式下一个实体:如何指定字段名

BW\UserBundle\Entity\User: 
    type: entity 
    table: users 
    repositoryClass: BW\UserBundle\Entity\UserRepository 
    id: 
     id: 
      type: integer 
      id: true 
      generator: 
       strategy: AUTO 
    fields: 
     username: 
      type: string 
      length: 25 
      unique: true 
     password: 
      type: string 
      length: 64 
     email: 
      type: string 
      length: 60 
      unique: true 
     isActive: 
      type: boolean 
    lifecycleCallbacks: { } 

现在,当我更新方案,我在DB获得isActive字段名,相同属性名称。 如何在数据库中指定属性名称isActiveis_active字段名称?

回答

1

你需要指定列名这样的:

BW\UserBundle\Entity\User: 
    type: entity 
    table: users 
    repositoryClass: BW\UserBundle\Entity\UserRepository 
    id: 
     id: 
      type: integer 
      id: true 
      generator: 
       strategy: AUTO 
    fields: 
     username: 
      type: string 
      length: 25 
      unique: true 
     password: 
      type: string 
      length: 64 
     email: 
      type: string 
      length: 60 
      unique: true 
     isActive: 
      type: boolean 
      column: is_active 
    lifecycleCallbacks: { } 

更上 - http://docs.doctrine-project.org/en/2.0.x/reference/basic-mapping.html#property-mapping

+0

我用'数据库指定列名name'而不是'列',用'列'工作,谢谢! –

0

你在这里处理两种不同类型的约定。在Symfony中使用骆驼大小来命名变量是很常见的。在数据库中,你经常会发现这个下划线的名字。如果你访问你的isActive属性,你的实体模型将把它映射到数据库中的is_active列。

1

您可以

fields: 
    username: 
     type: string 
     length: 25 
     unique: true 
    password: 
     type: string 
     length: 64 
    email: 
     type: string 
     length: 60 
     unique: true 
    isActive: 
     type: boolean 
     column: is_active 
相关问题