当前位置:网站首页>06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》
06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》
2022-08-08 03:33:00 【1_bit】
文章目录(更新中…)
01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》
02 控制器《ThinkPHP6 入门到电商实战》
03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》
04 tp6 的查数据《ThinkPHP6 入门到电商实战》
05 tp6 的数据添加《ThinkPHP6 入门到电商实战》
06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》
07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》
08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》
若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。
一、数据的更新
tp6 中更新可以使用 save 方法进行更新也可以使用 update 进行更新,在这里不对save 进行讲解防止同学们对 save 的操作产生混乱,在这里主要介绍 update 方法的更新。
以下是 update 方法的官方手册示例:
Db::name('user')
->where('id', 1)
->update(['name' => 'thinkphp']);
从示例中我们可以看到,使用 name 指定了要操作的表为 user ,where 用作指定条件,更新的数据是 id 为 1 的这一条,update 所传入的数据为更新的数据值;那么此时若我们需要更新 student 表里面的数据代码就可以写成:
public function update(){
$res=Db::name('student')
->where('id', 1)
->update(['height' => 169]);
dump($res);
}
访问该方法后结果为更新数如下:
最后查看数据库内容已更新:
更新还可以直接传入一个数组:
public function update(){
$data=['height' => 173];
$res=Db::name('student')
->where('id', 1)
->update($data);
dump($res);
}
结果如下:
官方还给出了另外一种示例:
Db::name('user')
->where('id', 1)
->data(['name' => 'thinkphp'])
->update();
二、数据库函数执行 exp 及 raw 方法更新
在更新数据时还可以通过 exp 执行sql数据库函数,以下是官方所给出的示例使其内容转换为大写:
Db::name('user')
->where('id',1)
->exp('name','UPPER(name)')
->update();
也可以通过 raw 方法对数据进行更新:
Db::name('user')
->where('id', 1)
->update([
'name' => Db::raw('UPPER(name)'),
'score' => Db::raw('score-3'),
'read_time' => Db::raw('read_time+1')
]);
例如给与一个数值减值某个数字加值等。
三、自增自减
自增自减官方手册也提供了对应的方法:
// score 字段加 5
Db::table('think_user')
->where('id', 1)
->inc('score', 5)
->update();
// score 字段减 5
Db::table('think_user')
->where('id', 1)
->dec('score', 5)
->update();
四、数据删除
数据删除在日常中使用很谨慎,一般是通过更改状态值来设置“删除”状态,下面给与官方示例说明:
Db::name('user')->delete(51);
以上代码将会返回影响行数,不成功则为0。也可以写成如下形式:
Db::name('user')->where('id', 47)->delete();
多条记录删除代码如下:
Db::name('user')->delete([48,49,50]);
边栏推荐
- LeetCode Binary Tree Series - All Paths of 257 Binary Trees
- 解决Mysql和redis缓存不一致问题
- 意识的概念框架:我们的意识从注意图式产生?
- 121. The Best Time to Buy and Sell Stock, the Best opportunity to Buy and Sell stocks
- 136. Single Number只出现一次的数字
- 监控工具Prometheus及项目总结,220805,,
- JS 怎么使用十六进制保存100位状态的问题
- 开发如何尽可能的避免BUG
- NVIDIA NCCL Optimization - Leverage shared memory for faster collective communication than NCCL
- RV-GAN:使用新的多尺度生成对抗网络分割眼底照片中的视网膜血管结构
猜你喜欢

LeetCode Binary Tree Series - 144. Sum of Left Leaves

使用z-file和七牛云对象存储构建个人网盘

Vulfocus Shooting Range Scenario Mode - Intranet Dead End

Kubernetes Technology and Architecture (8)

每日几道LeetCode练习

NVIDIA NCCL优化——利用共享内存实现比NCCL更快的集合通信

Nanny level tutorial!Golang microservices simple architecture in practice

Optional中orElse和orElseGet的区别

vulfocus靶场情景模式-内网死角

Simulate login - add cookies, use postmanget to request web page data
随机推荐
The futures company how to validate the normality of opening an account
1.9 and orderly array insert PTA problem sets
杭电多校6 1010. Planar graph
每日几道LeetCode练习
C#《原CSharp》第四回 人常见岁月更替 却难知人文相继
妙才周刊
ICML 2022 | LeNSE: Subgraph-Based Large-Scale Combinatorial Optimization: Achieving Over 140x Speedup
新零售项目及离线数仓核心面试,,220807,,
解决Endnote插入参考文献时导致word闪退问题
11 High Availability Tips You Can't Miss
流程控制语句顺序分支循环结构
【My Diary】About my lovely new colleague
啃完这本阿里手册,应届七面进阿里
工厂模式设计思路
LeetCode二叉树系列——144.左叶子之和
杭电多校-Map-(模拟退火)
How does SQL 2016 track which store or statement caused the record table record to be modified
An egg - Nodemailer - qq email verification code development configuration
Data labeling platform doccano----Introduction, installation, use, pit record
实现Express中间件原理