2014-05-20 72 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 
相關問題