当前位置:首页 > 技术教程 > 技术文章 > 正文内容

TP6常用的增删改查方法合集(DB类+模型类)

atao2年前 (2021-02-25)技术文章1429

注意:

1、注意引入DB和模型的门面类

2、想要添加视图文件,一定要先composer引入view模板引擎

3、下面方法来自官方手册,只是写了一些个人常用的,并非齐全。



增(添加)

  • DB类方法

方法一:

    $data = ['name'=>'张三', 'sex'=>'男'];

    Db::table('tp_user')->insert($data);

方法二:

    Db::table('tp_user')->insert( ['name'=>'张三', 'sex'=>'男']);

返回主键ID:

    $userId = Db::table('tp_user')->insertGetId($data);

批量插入:

    $dataAll = [

        ['foo' => 'bar1', 'bar' => 'foo1'],

        ['foo' => 'bar2', 'bar' => 'foo2'],

        ['foo' => 'bar3', 'bar' => 'foo3']

    ];

    Db::table('tp_user')->limit(100)->insertAll($dataAll);    //分批写入 每次最多100条数据


  • 模型类方法

方法一:

    $user = new User;

    $user->name = 'thinkphp';

    $user->save();

方法二:

    $user = new User;

    $user->save(['name' => 'thinkphp']);

批量插入:

    $user = new User;

    $list = [

        ['name'=>'thinkphp','email'=>'thinkphp@qq.com'],

        ['name'=>'onethink','email'=>'onethink@qq.com']

    ];

    $user->saveAll($list);

静态方法插入:

    $user = User::create(['name' => 'thinkphp', 'email' => 'thinkphp@qq.com']);

    echo $user->id; // 获取自增ID


删(删除)

  • DB类方法

 根据主键删除:

    Db::table('think_user')->delete(1);

    Db::table('think_user')->delete([1,2,3]);

根据条件删除:

    Db::table('think_user')->where('id',1)->delete();

    Db::table('think_user')->where('id','<',10)->delete();


  • 模型类方法

方法一:

    $user = User::find(1);

    $user->delete();

闭包删除:

    User::destroy(function($query){

        $query->where('id','>',10);

    });

静态方法一:

    User::destroy(1);

    User::destroy([1,2,3]);

静态方法二:

    User::where('id','>',10)->delete();



改(更新)

  • DB类方法

方法一:

    Db::table('think_user')->save(['id' => 1, 'name' => 'thinkphp']);

方法二:

    Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);

方法三:

    Db::table('think_user')->update(['name' => 'thinkphp','id' => 1]);


  • 模型类方法

方法一:

    $user = User::find(1);

    $user->name = 'thinkphp';

    $user->save();

批量修改:

    $user = new User;

    $list = [

        ['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],

        ['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com']

    ];

    $user->saveAll($list);

静态方法:

    User::update(['name' => 'thinkphp', 'id' => 1]);

    User::update(['name' => 'thinkphp'], ['id' => 1]);



查(查询)

  • DB类方法

单条查询:

Db::table('think_user')->where('id', 1)->find();

多条查询:

    Db::table('think_user')->where('status', 1)->select();


  • 模型类方法

单个查询:

    $user = User::find(1);

批量查询:

    $user = User::select([1,2,3]);


链式操作
连贯操作作用支持的参数类型
where*用于AND查询字符串、数组和对象
whereOr*用于OR查询字符串、数组和对象
whereTime*用于时间日期的快捷查询字符串
table用于定义要操作的数据表名称字符串和数组
alias用于给当前数据表定义别名字符串
field*用于定义要查询的字段(支持字段排除)字符串和数组
order*用于对结果排序字符串和数组
limit用于限制查询结果数量字符串和数字
page用于查询分页(内部会转换成limit)字符串和数字
group用于对查询的group支持字符串
having用于对查询的having支持字符串
join*用于对查询的join支持字符串和数组
union*用于对查询的union支持字符串、数组和对象
view*用于视图查询字符串、数组
distinct用于查询的distinct支持布尔值
lock用于数据库的锁机制布尔值
cache用于查询缓存支持多个参数
with*用于关联预载入字符串、数组
bind*用于数据绑定操作数组或多个参数
comment用于SQL注释字符串
force用于数据集的强制索引字符串
master用于设置主服务器读取数据布尔值
strict用于设置是否严格检测字段名是否存在布尔值
sequence用于设置Pgsql的自增序列名字符串
failException用于设置没有查询到数据是否抛出异常布尔值
partition用于设置分区信息数组 字符串
replace用于设置使用REPLACE方式写入布尔值
extra用于设置额外查询规则字符串
duplicate用于设置DUPLCATE信息数组 字符串

所有的连贯操作都返回当前的模型实例对象(this),其中带*标识的表示支持多次调用。


扫描二维码推送至手机访问。

版权声明:本文由武景涛的博客发布,如需转载请注明出处。

本文链接:http://www.yizhanhongtu.cn/post/54.html

分享给朋友:

相关文章

PHP获取今天、明天、上周、本周、上月、本月、本季度、上季度时间段方法

PHP获取今天、明天、上周、本周、上月、本月、本季度、上季度时间段方法

strtotime()函数123//date('n') 第几个月 //date("w") 本周周几 //date("...

linux是什么系统

linux是什么系统

linux是什么:Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到Minix和Unix思想的启发,...

什么是flex布局,它的常用属性有哪些

什么是flex布局,它的常用属性有哪些

什么是flex 布局?flex是 flexible box 的缩写,就是弹性布局的意思。任何一个元素(块元素、行内块元素、行内元素),都可以设置为弹性盒子属性。语法:块元素: display:flex...

CSS度量的单位px、rem、em、vw、vh有什么区别

CSS度量的单位px、rem、em、vw、vh有什么区别

1、px绝对单位,页面按精确像素展示2、em相对长度单位,相对于当前对象内文本的字体尺寸, 根据父元素的大小变化而变化对单位,基准点为父节点字体的大小。em是指字体高度 浏览器默认1em=16px,所...

PHP获取和操作配置文件php.ini的几个函数介绍

PHP获取和操作配置文件php.ini的几个函数介绍

1.ini_get()获取配置参数,ini_set()设置配置参数<?php echo ini_get('display_errors'); //1 //...

PHP开发api接口,如何做才算是安全的

PHP开发api接口,如何做才算是安全的

php的api接口在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。