think PHP 数据库保存(新增、修改)save saveALL
最近同事问到 save 的数据保存问题,作为自己的一个巩固,做此纪录。
TP手册--save新增数据 修改数据
一些特别需要注意的点:
- save方法新增数据返回的是写入的记录数。
- saveAll方法新增数据返回的是包含新增模型(带自增ID)的数据集(数组)。
- 批量更新仅能根据主键值进行更新,其它情况请使用foreach遍历更新。
- 如果传入update的数据包含主键的话,可以无需使用where方法。
- 如果你调用save方法进行多次数据写入的时候,需要注意,第二次save方法的时候必须使用isUpdate(false),否则会视为更新数据。(注意不要在一个模型实例里面做多次更新,会导致部分重复数据不再更新,正确的方式应该是先查询后更新或者使用模型类的update方法更新。)
- save 自动补充更新,新增时间
模型的新增和更新方法都是save方法,系统有一套默认的规则来识别当前的数据需要更新还是新增。
- 实例化模型后调用save方法表示新增;
- 查询数据后调用save方法表示更新;
- save方法传入更新条件后表示更新;
如果你的数据操作比较复杂,可以显式的指定当前调用save方法是新增操作还是更新操作。
$user = new User;
更新数据:
$user->isUpdate(true)->save(['id' => 1, 'name' => 'thinkphp']);
新增数据:
$user->isUpdate(false)->save([ 'name' => 'thinkphp']);
save 数据没有修改返回 0, 成功返回受影响行数,所以判断数据更新是成功
if($result !== false){ //成功
}else{ //失败
}
think PHP 数据库保存(新增、修改)save saveALL相关推荐
- 数据库新增修改和删除
数据库新增修改和删除 想必在现行的世界中数据很是重要,数据数据.做it这一行得首先我首先想到的就是数据库–SQL Server 2014 Management Studio 一个很实用的处理数据的软件 ...
- VUE+ELEMENTUI el-upload照片墙手动上传多张图片 保存和修改功能前后端完整实现
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. VUE+ELEMENTUI el-upload照片墙手动上传多张图片 保存和修改功能前后端完整 ...
- sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作
前面添加完列表的字段之后,接下来介绍列表数据的新增,修改,删除操作,不需要开发,就能实现数据的新增,修改,删除等操作. 重新返回到列表的http://192.168.1.73:7003/Lists/U ...
- 使用数据库保存Asterisk sip账号信息(odbc方式)
在默认情况下,Asterisk的配置文件都保存在/etc/asterisk目录中,以ini文件的格式保存.我们也可以使用数据库来保存大多数Asterisk配置信息. Asterisk使用数据库保存配置 ...
- Oracle触发器之表新增/修改的触发操作
Oracle触发器之表新增/修改的触发操作 Oracle创建触发器,若是本地触发,加数据库名即可:如果是远程服务器,做一个db_link操作即可. 教学代码 建表:create table User_ ...
- 达梦数据库表新增字段速度测试
给表新增字段是一项日常需求,数据库在这种DDL的资源消耗还是很大的,达梦数据库在新增字段方面有些学习了oracle 11g的思路. 达梦数据库提供了参数 ALTER_TABLE_OPT 来控制添加字段 ...
- mysql数据库密码的修改
mysql数据库密码的修改 1.首先找到mysql对应的bin/mysql.exe目录里面然后输入cmd打开cmd面板 2.在cmd面板里面输入mysqld --skip-grant-tables然后 ...
- c#窗体点餐系统 使用sql server 数据库保存数据
c#窗体点餐系统 使用sql server 数据库保存数据 登录界面 using System; using System.Collections.Generic; using System.Comp ...
- Unity简单商城系统,用SQLite数据库保存/加载数据
Unity简单商城系统案例 流程 最后效果展示 1. 创建项目并导入SQLite需要的dll文件 2. 创建数据库表(玩家表和商店表) 3. Singleton 单例脚本 4. 封装SQLite数据库 ...
- 舱位等级新增修改总结
1.编辑新增/修改的保存的方法 (1)获取舱位代码变量 (2)获取舱位等级名称变量 (3)获取基础价格变量 (4)获取折扣变量 (5)用if语句判断(1)(2)(3)(4)获取的变量不能为空和null ...
最新文章
- 【问题收录】svn: E155010: 提交失败(Ubuntu14.04环境)
- 线性回归——最小二乘法_实例(二)
- 查看网页服务器搭建方式(Python3)
- 计算机专业 毕业论文 百度云,计算机专业毕业论文.pdf
- 数据类型之数字类型—运算符
- 聊聊 | 他在Google Play安全奖励计划贡献榜单上排名第一
- linux早期内核的khttpd服务器--策略污染机制
- Sentry的安装搭建与使用
- asp定时生成静态HTML的代码
- 【Zookeeper系列】Zookeeper命令操作(转)
- python批量查询IP物理地址输出到Exel
- python win32api sendmessage_Python win32api.SendMessage方法代码示例
- 读《美国交通信号配时实践经验》后的感受
- 从头来过教你PHP脚本语言(一)
- reRender属性的使用
- python过滤敏感词记录
- (My)SQL 使用入门
- unity3d横版游戏移动_制作游戏并不困难。 回顾Unity3D上的小型移动项目
- 如何建立自己的知识体系?六步就能简单打造
- 如何制作动画效果的文字图片?教你一键合成gif动画
热门文章
- python实现基本算法之归并排序(Merge sort)
- [数值分析拟合]Matlab三次样条插值拟合数据
- 计算机毕业设计JAVA旅游众筹平台mybatis+源码+调试部署+系统+数据库+lw
- 2022年保险保险经纪人考试每日一练及答案
- 程序员怎么接私活:外包众包接单方法网站全介绍
- 无网格和无网格CFD,你不知道的事
- 银联AMT机并不是所有带银联的银行卡都可以取钱使用的!
- mysql倒库操作遇到的问题
- 计算机一级 文档计算总和,江苏省计算机一级选择题总和.docx
- 耶胡达•阿米亥《人的一生》