【ThinkPhp3.2】关于update指定了条件,可是进行了全表更新

案例:将时间过时的状态码给为3

在这里插入图片描述

解析上边案例

这条语句是在tp5特别经常使用的语句
d a t a = D ( ′ g o o d s c o u p o n ′ ) − > w h e r e ( ′ i d ′ , data = D('goodscoupon')->where('id', data=D(goodscoupon)>where(id,v[‘id’])->save($param);
打印出sql看了一下,这是真的坑
string(57) “UPDATE antweb_goodscoupon SET status=‘3’ WHERE ( id )”web

解决办法

使用这样的语句,也就是键对值的方法
D(‘goodscoupon’)->where([‘id’=> v [ ′ i d ′ ] ] ) − > s a v e ( v['id']])->save( v[id]])>save(param);sql