遇到个关于 Laravel 软删除与数据库 unique 的问题


使用mysql 发现unique的列只要是null 他不检查,也就是说可以存在多条一模一样的数据只要unique的列有一个是nul即可l,laravel的软删除 delete_at 正好是null
这下把我搞麻烦了,不知道这种情况各位遇到过是怎么处理的,laravel的软删除默认值能
设置成别的吗?
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

没怎么看明白你的意思! :see_no_evil:

4年前 评论
dancheng (楼主) 4年前
snowlyg (作者) 4年前
anniversary 4年前

:joy:没看懂,不过你好像只是要改软删除判定字段,你可以看看这个文章,应该是你要的

 class Flight extends Model
{
    use SoftDeletes;    
    protected $dates = ['my_deleted_at'];
    const DELETED_AT = 'my_deleted_at';
}

https://stackoverflow.com/questions/420497...

4年前 评论

1、数据库unique列可为NULL设计上就不合理
2、laravel的unique可以添加条件 unique('用户表')->whereNotNull('deleted_at')
3、deleted_at列验证unique这是什么操作?

4年前 评论

你插入15988888888 一个帐户。然后软删除,然后又插入15988888888。这时候数据库报错,但是业务是可以的,是这个意思吗?

4年前 评论
ruke 4年前
jamesZhao 4年前
半人间 (作者) 4年前
jamesZhao 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!