解决方法null在Laravel的soft delete Deleted_at列上唯一

时间:2019-05-26 12:52:17

标签: php mysql laravel laravel-5

众所周知,在多列唯一索引上,如果值之一为NULL,则整个约束都将失效。有些人认为this should not be the behaviour,但其他人则认为这是处理此类情况的正确方法。

一个建议的解决方法,例如使用空字符串与非空字符串来处理此类情况。

我在模型上使用带有SoftDeletes的Laravel 5。在这种模式下,我有一个deleted_at列,如果为NULL,则表示未删除;不为null时,表示该行已被删除的时间。但是,我不能使用建议的解决方法之类的默认值,因为它将被系统删除。

如何在Laravel或MySQL上解决此问题,以便可以将delete_at作为可为空的唯一索引?

0 个答案:

没有答案