在取出数据后,更改字段内容后更新数据。Index控制器,新建getUpdate方法
查看数据库user表ID等于2的原始数据(未执行修改操作前)
浏览器访问
执行后的数据库
Index控制器,新建zUpdate方法
浏览器访问后,查看数据库
Index控制器,新建allowUpdate方法更新即为修改,修改的步骤为“查询修改数据=》展示数据=》修改数据=》提交数据=》更新数据库”,是在原数据的基础上进行修改,这里为了方便,直接跳过展示原数据的步骤,直接设置修改后的数据。
新建allowupdate.html模板页,文件位置application/index/view/index/
浏览器预览
点击提交,查看数据库
Index控制器,新建fieldUpdate方法
数据库未修改前,ID=2数据详情
浏览器访问
点击提交,查看数据库
只有name字段进行了修改,其他字段不变。可以使用saveAll方法批量更新数据。
Index控制,新疆allUpdate方法
数据库未修改前,ID=1,ID=2数据详情
浏览器访问,查看数据库
1.批量更新仅能根据主键值进行更新,其它情况请使用foreach遍历更新。必要的时候,你也可以使用数据库对象来直接更新数据,但这样就无法使用模型的事件功能。
Index控制器,新建uUpdate方法
浏览器访问
查看数据库
Index控制器,新建uuUpdate方法
浏览器访问
查看数据库
1.如果传入update的数据包含主键的话,可以无需使用where方法。模型支持静态方法直接更新数据。Index控制器,新建staticUpdate方法
浏览器访问
查看数据库
1.或者直接使用update方法,update传入的数据包含主键的话,可以无需使用where方法,即:User::update(['id'=>2,'name'=>'静态方法更新数据']);可以通过闭包函数使用更复杂的更新条件。Index控制器,新建biUpdate方法
查看数据库,id大于60的数据信息,其中cid等于3的有三个
浏览器访问
查看更新后的数据库
我们已经看到,模型的新增和更新方法都是save方法,系统有一套默认的规则来识别当前的数据需要更新还是新增。1.实例化模型后调用save方法表示新增;1.查询数据后调用save方法表示更新;2.save方法传入更新条件后表示更新;如果你的数据操作比较复杂,可以显式的指定当前调用save方法是新增操作还是更新操作。Index控制,新建xianUpdate方法
关注卓象程序员,定期发布技术文章下一篇讲解“模型-删除”
「ThinkPHP5开发连载44」thinkphp5开发连载模型-更新
领取专属 10元无门槛券
私享最新 技术干货