今天写项目的时候,突然发现一个坑爹的问题,使用saveAll新增多条数据,但是一直提示缺少更新条件,然而我发现代码里面并没有更新,而且saveAll我仅仅是去新增多条数据而已
我打印代码的每一步骤,发现都是正确的,但是到了saveAll新增数据的时候就会提示错误
我也百度了一下,发现网上没有这种问题,最后我自己去看了tp5的源码,终于发现了问题
原来源码中有isUpdate这个属性的值,
这个值默认为false,但因为我自己在saveAll之前使用过save方法,而且是更新数据,
save方法会将isUpdate改为true,改完isUpdate的值,源码并没有再次改回来,这样isUpdate的值将一直是true,以至于我再使用saveAll的时候,提示缺少更新条件,而解决这个问题就是在saveAll前面加上isUpdate(false)
这样,我们就能解决这个问题!
虽然这个问题困扰了我一小会,但是我觉得却让我明白解决问题有时候需要从根本出发,多看看tp5的源码,只有真正的看懂明白了源码,才能写出更好的代码!