06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》
文章目录(更新中…)
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]);
文章来源: i1bit.blog.csdn.net,作者:1_bit,版权归原作者所有,如需转载,请联系作者。
原文链接:i1bit.blog.csdn.net/article/details/126183712
- 点赞
- 收藏
- 关注作者
评论(0)