ThinkPHP在进行数据更新操作的时候必须加上where条件??
高洛峰
高洛峰 2016-11-08 13:28:16
0
1
660

ThinkPHP在进行数据更新操作的时候必须加上where条件??比如:

$model = D('User');$model->save();//直接这样写是不行的??

必须这样写:$model->where('条件')->save();??

是这样子的吗??为什么呢??


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
三叔

为了安全貌似需要带上主键,不记得了,翻翻源码,你是什么版本的?3.2?

3.2版本,Model.class.php,如下:

2422145834-58213fc77124c_articlex.png

补充下,并不是需要主键才能更新,只是而是如果设置了主键,会自动作为更新条件。但是如果没设置where(包括上面步骤自动生成的where),则会提示没有where查询条件,当然如果没有data数据更新,也会提示错误。也就是说$Model->save(['pk' => 1, 'test' => 'test']);是可以更新成功的。但是$Model->save('test' => 'test'])则不行。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板