我想使用FOSUserBundle与已经存在的用户表。问题是,我的表有不同的列名FOSUserBundle。例如,我有"login"
列,而bundle需要"username"
字段。
此外,我必须删除"salt"
列,因为我只想使用哈希函数(必需的功能)。
你能一步一步地告诉我怎么做吗?或者至少给我点提示?文档只说了几句话,我什么也听不懂。
谢谢!
文档非常清楚您需要做什么:
1)你的用户类需要扩展FOS'UserBundle'Model'User
,但我认为它已经是这样了。
2)您需要重新定义整个类的映射(例如使用Doctrine2 ORM: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/config/doctrine/model/User.orm.xml)
3)你可以更改和删除你不想要的字段的映射(除非Bundle要求)
您可以将某些覆盖属性中的列名设置为子类的映射,如下所示。
YAML
// Acme'UserBundle'Resources'config'doctrine'User.orm.yml
Acme'UserBundle'Entity'User:
...
attributeOverride:
username:
column: login
type: string
length: 255
有关这方面的更多信息,请参阅doctrine文档。
这将列login
映射到参数username
。