ThinkPHP在进行数据更新操作的时候必须加上where条件??
本文介绍了ThinkPHP在进行数据更新操作的时候必须加上where条件??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
ThinkPHP在进行数据更新操作的时候必须加上where条件??
比如:
$model = D('User');
$model->save();//直接这样写是不行的??
必须这样写:
$model->where('条件')->save();??
是这样子的吗??为什么呢??
解决方案
为了安全貌似需要带上主键
,不记得了,翻翻源码,你是什么版本的?3.2
?
3.2
版本,Model.class.php
,如下:
补充下,并不是需要主键才能更新,只是而是如果设置了
主键
,会自动作为更新条件。但是如果没设置where
(包括上面步骤自动生成的where
),则会提示没有where
查询条件,当然如果没有data
数据更新,也会提示错误。也就是说$Model->save(['pk' => 1, 'test' => 'test']);
是可以更新成功的。但是$Model->save('test' => 'test'])
则不行。
这篇关于ThinkPHP在进行数据更新操作的时候必须加上where条件??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文