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


使用mysql 发现unique的列只要是null 他不检查,也就是说可以存在多条一模一样的数据只要unique的列有一个是nul即可l,laravel的软删除 delete_at 正好是null
这下把我搞麻烦了,不知道这种情况各位遇到过是怎么处理的,laravel的软删除默认值能
设置成别的吗?
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4

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

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

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

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

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

5年前 评论

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

5年前 评论

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

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

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