我有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
字段名称,与属性名称相同。
如何在DB中指定属性名称isActive
,如is_active
字段名称?
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分:0)
你在这里处理两种不同的约定。在Symfony中使用camel case来命名变量是很常见的。在数据库中,您经常会找到这个下划线的书面名称如果访问isActive属性,则实体模型会将其映射到数据库中的is_active列。