FOSUserBundle: username vs usernameCanonical

2022-08-30 11:43:10

为什么 FOSUserBundle 用户实体具有用户名(和其他字段)的两个属性?

/**
 * @var string
 */
protected $username;

/**
 * @var string
 */
protected $usernameCanonical;

我已经阅读了文档,浏览了源代码,并试图搜索信息,但我无法找出它存在的原因。它似乎总是存储相同的值。我相信有一个很好的理由,有人可以填写我吗?


答案 1

规范字段在比较或搜索之前会变为小写,以确保没有具有相同值但具有不同大小写(如 和 )的重复项。Test@test.orgtest@test.org


答案 2

推荐