Php 重新映射列以与FOSUserBundle匹配
我想对已经存在的users表使用FOSUserBundle。然而,问题是我的表的列名与FOSUserBundle不同。例如,我有Php 重新映射列以与FOSUserBundle匹配,php,sql,symfony,doctrine-orm,Php,Sql,Symfony,Doctrine Orm,我想对已经存在的users表使用FOSUserBundle。然而,问题是我的表的列名与FOSUserBundle不同。例如,我有“login”列,而bundle需要“username”字段 此外,我必须删除“salt”列,因为我只想使用哈希函数(必需的功能) 你能一步一步地给我解释一下怎么做吗?或者至少给我一些提示?文件上只写了几个句子,我对此一无所知 谢谢 对于您需要做的事情,我们非常清楚: 1) 您的用户类需要扩展FOS\UserBundle\Model\user,但我认为已经是这样了 2)
“login”
列,而bundle需要“username”
字段
此外,我必须删除“salt”
列,因为我只想使用哈希函数(必需的功能)
你能一步一步地给我解释一下怎么做吗?或者至少给我一些提示?文件上只写了几个句子,我对此一无所知
谢谢 对于您需要做的事情,我们非常清楚:
1) 您的用户类需要扩展FOS\UserBundle\Model\user
,但我认为已经是这样了
2) 您需要重新定义整个类的映射(例如使用Doctrine2 ORM:)
3) 您可以更改和删除不需要的字段的映射(除非捆绑包需要)您可以将某些覆盖属性中的列名设置为子类的映射,如下所示
YAML
// Acme\UserBundle\Resources\config\doctrine\User.orm.yml
Acme\UserBundle\Entity\User:
...
attributeOverride:
username:
column: login
type: string
length: 255
有关这方面的更多信息,请参见学说
这将把列login
映射到参数username