navicat数据插入失败原因(1062 Duplicate entry)
数据表中phone字段增加了唯一索引
laravel 模型用了软删除
业务逻辑:传入手机号,判断传入的phone是否在数据表中,有返回
phone重复
提示,没有新建一条数据
情景再现:传入手机号,报
1062 Duplicate entry '158****112' for key 'phone' in ...
提示phone重复,按业务逻辑应该先返回phone重复,而不是报错
查数据表发现一条软删除数据,phone字段为上面传入的手机号
报错原因:在判断phone是否重复时,由于用了ORM的软删除,导致未查找到该数据,入库时由于phone字段有唯一索引导致了报错
解决:手动删除这条软删数据或者用withtrashed()方法