我正在使用 ActsAsParanoid 软删除用户。删除(软)用户后,我的客户想要创建具有相同电子邮件 ID 的用户。但由于电子邮件列是唯一的,它会产生唯一字段错误。所以我的问题是我们可以设置唯一性email
仅当 deleted_at 列为空时列。
如果你不明白我的问题,请回复。
我正在使用 ActsAsParanoid 软删除用户。删除(软)用户后,我的客户想要创建具有相同电子邮件 ID 的用户。但由于电子邮件列是唯一的,它会产生唯一字段错误。所以我的问题是我们可以设置唯一性email
仅当 deleted_at 列为空时列。
如果你不明白我的问题,请回复。
我想您可以将users
表的唯一性约束更改为:
UNIQUE (email, deletion_date)
这将有效地:
NULL
.NULL
删除日期,而已删除用户在那里有一个值。啊,只需将旧电子邮件更改为类似
这样,如果您需要查看旧电子邮件,它就是删除下划线之前的所有内容。
换句话说,这里有新用户创建新帐户。
可能在后台有一个 mutator 添加在旧帐户上删除的下划线。
下划线删除只是一个例子。