我想在已有的用户表中使用FOSUserBundle。但问题是我的表名称与FOSUserBundle不同。例如,我有"login"
列,而捆绑包需要"username"
字段。
此外,我必须删除"salt"
列,因为我只想使用散列函数(所需功能)。
您能否一步一步地向我解释如何做到这一点?或者至少给我一些提示?文档说的只是几句我从未理解的句子。
谢谢!
答案 0 :(得分:2)
documentation非常清楚你需要做什么:
1)您的用户类需要扩展FOS\UserBundle\Model\User
,但我认为情况已经如此。
2)您需要重新定义整个班级的映射(例如,使用Doctrine2 ORM:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/config/doctrine/model/User.orm.xml)
3)您可以更改和删除您不想要的字段的映射(除非Bundle要求)
答案 1 :(得分:0)
您可以将某些覆盖属性中的列名设置为子类的映射,如此...
YAML
// Acme\UserBundle\Resources\config\doctrine\User.orm.yml
Acme\UserBundle\Entity\User:
...
attributeOverride:
username:
column: login
type: string
length: 255
有关此内容的更多信息,请参阅学说docs。
这会将列login
映射到参数username
。