美文网首页
Thinkphp5 数据保存、更新问题(save、saveAll

Thinkphp5 数据保存、更新问题(save、saveAll

作者: 上善丨若水 | 来源:发表于2018-06-03 10:28 被阅读8506次

    今天写项目的时候,突然发现一个坑爹的问题,使用saveAll新增多条数据,但是一直提示缺少更新条件,然而我发现代码里面并没有更新,而且saveAll我仅仅是去新增多条数据而已

新增多条数据

我打印代码的每一步骤,发现都是正确的,但是到了saveAll新增数据的时候就会提示错误

报错提示

我也百度了一下,发现网上没有这种问题,最后我自己去看了tp5的源码,终于发现了问题

tp5源码

原来源码中有isUpdate这个属性的值,

这个值默认为false,但因为我自己在saveAll之前使用过save方法,而且是更新数据,

tp5 save方法

save方法会将isUpdate改为true,改完isUpdate的值,源码并没有再次改回来,这样isUpdate的值将一直是true,以至于我再使用saveAll的时候,提示缺少更新条件,而解决这个问题就是在saveAll前面加上isUpdate(false)

这样,我们就能解决这个问题!

    虽然这个问题困扰了我一小会,但是我觉得却让我明白解决问题有时候需要从根本出发,多看看tp5的源码,只有真正的看懂明白了源码,才能写出更好的代码!

相关文章

网友评论

      本文标题:Thinkphp5 数据保存、更新问题(save、saveAll

      本文链接:https://www.haomeiwen.com/subject/naxjsftx.html