php thinkphp修改,thinkphp5.0 数据修改(更新)

本文详细介绍了ThinkPHP5.0框架中数据修改的两种方法:模型的save()方法和update()方法,以及底层Db的update()方法。save()方法支持先查询再修改,update()方法则可以直接进行批量或单个修改,并提供了过滤非数据表字段的功能。文中还对比了两者在返回值和功能上的差异,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成

thinkphp5.0 数据修改(更新)

对应手册:点击查看

save方法,先查询再修改:

$goods = Goods::find(32);

$goods-goods_price = '102.00';

$goods-goods_number = 300;

$res = $goods-allowField(true)-save();

(推荐使用)直接静态调用模型的update方法:

3个参数:修改的数据、修改条件、过滤非数据表字段

Goods::update(['goods_price'='123.00','goods_number'=321],['id'=34],true);

底层Db的update方法(通过where方法后使用update方法)

//单个修改

$res = Goods::where('id',34)-update(['goods_price'='234.00','goods_number'=600]);

dump($res);//返回受影响的条数

//批量修改(id大于34的统一修改)

$res = Goods::where('id','',34)-update(['goods_price'='234.00','goods_number'=600]);

dump($res);//返回受影响的条数

区别:模型的update方法 和 底层的update方法

1.返回值不同:模型返回模型对象,底层的返回修改条数

2.包含的功能不同:模型的update 有过滤非数据表字段的功能(就是那个参数true),底层的没有

thinkphp5.0 数据修改(更新) 相关文章

sqlite操作

1 /** 2 * 创建数据库子类,继承自SQLiteOpenHelper类 3 * 需 复写 onCreat()、onUpgrade() 4 */ 5 public class DatabaseHelper extends SQLiteOpenHelper { 6 7 // 数据库版本号 8 private static Integer Version = 1; 9 10 /** 11 * 构造函数12 * 在

标识符 关键字 数据类型

标识符 关键字 数据类型 标识符 关键字 注释 Java的数据类型 数据类型拓展 //整数拓展(进制) 二进制0b 十进制 八进制0 十六进制0xint a=10;int a1=010;//八进制0int a2=0x10;//十六进制0x 0~9 A~F 16System.out.println(a);System.out.println(a1);System.

2/8 Express 简单入门 Vue.js 实现通过接口获得数据

写在前面 天了撸,其实昨天写完 postman 的 mock server 我就在想一个问题,为什么我的数据不是实时改变的,为什么是浏览器缓存后的数据 导致我晚上睡不着。。。 然后第二天起来,吃完饭就开始想着怎么搞出来 ( 其实是先看了 无职转生 多好看的 ) 接着我发

Java数组详解

数组详解 1、数组概述 数组是相同类型数据的有序集合 每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们 2、数组声明和创建 ①数组声明形式 dataType[] arrayRefVar; //首选的方法dataType arrayRefVar[]; ②数组的创建 dataType[] array

数据结构与算法

# 0.介绍 参考资料: - 书: 1. 数据结构与算法分析——Java语言描述:美马克·艾伦·维斯 2. 数据结构与算法——Python语言实现:美迈克尔·T.古德里奇、罗伯托·塔马西亚、迈克尔·H.戈德瓦瑟 3. labuladong的算法小炒:付东来 - 文字教程: 1. C语言中文

3 变量:数据类型转换

一 转换为字符串 1)变量名.toString() var num = 10; console.log(typeof num.toString()); 2)函数 String(变量名) var num = 10; console.log(typeof String(num)); [ 强制转换 ] 3)加号拼接 var num = 10; console.log(num + ''); [ 隐式转换 常用 ] 二

Lsit集合数据多段化处理

public ListListOriginalDataAdvProductadsReport splitlist(ListOriginalDataAdvProductadsReport resList, int count) { if (resList == null || count 1) { return null; } ListListOriginalDataAdvProductadsReport ret = new ArrayListListOriginalData

SQL数据库之IFNULL函数和NULLIF函数

学习IFNULL()函数 非空判断 解析 IFNULL(expression1, expression2) 如果expression1为null, 在函数返回expression2,否则将返回expression1。 而expression1可以为sql语句,expression2同样可以为sql语句,不是只能返回null 举例子说明 需求:第二高薪水 编写

C# OPCAutomation 添加数据项值改变事件DataChange

OPCServer opcServer = new OPCServer();opcServer.Connect("OPC 服务名称");OPCGroups grous = opcServer.OPCGroups;OPCGroup group = grous.Add(null); group.OPCItems.AddItem("OPC项全名称", 1); group.OPCItems.AddItem("OPC项", 2); //数据刷新时间(毫

注释 关键字 数据类型 类型转换

注释 //单行注释 /* 多行注释 */ /** 文档注释 */ 关键字 数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 基本类型(primitive type) //八大基本数据类型 //整数 int num1 = 10; byte num2 = 20; short num3 = 30; lon

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值