是否可以将UniqueEntity配置为将foo
和Foo
视为重复项?
用例:我的用户实体上有@UniqueEntity("email")
,因为我使用电子邮件地址作为用户名。根据{{3}},电子邮件地址的本地部分理论上区分大小写,但实际上不区分大小写。
我当然可以在setEmail()
中将其转换为小写字母(如
https://stackoverflow.com/a/9808332/1668200)。缺点:
这不是一个好主意,因为极有可能无法交付。
因此,我宁愿拒绝用户Foo@example.com
的注册(如果foo@example.com
已经存在),而不是将 all 个用户的地址转换为小写。
答案 0 :(得分:1)
基于此UniqueEntity:
repositoryMethod类型:字符串默认值:findBy()
用于查询的存储库方法的名称 确定唯一性。如果留空,则findBy()方法将 使用。此方法应返回可计数的结果。
您可以在存储库中创建一个函数,以在sql中应用UPPER()查找该电子邮件是否存在。