Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重新映射列以与FOSUserBundle匹配_Php_Sql_Symfony_Doctrine Orm - Fatal编程技术网

Php 重新映射列以与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)

我想对已经存在的users表使用FOSUserBundle。然而,问题是我的表的列名与FOSUserBundle不同。例如,我有
“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