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

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

atao4年前 (2021-02-25)技术文章3997

注意:

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://yizhanhongtu.cn/post/54.html

分享给朋友:

相关文章

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

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

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

curl实用请求方法函数(个人用),含支付pem校验

curl实用请求方法函数(个人用),含支付pem校验

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这...

php版微信公众平台之微信网页登陆授权示例详解

php版微信公众平台之微信网页登陆授权示例详解

之前在项目中遇到网页授权登录这个需求,就对此做些总结记录。OAuth2.0授权:OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的个人信息,而...

ThinkPHP框架整合微信支付统一下单接口之Native扫码支付模式

ThinkPHP框架整合微信支付统一下单接口之Native扫码支付模式

此篇文章主要介绍了ThinkPHP6框架下整合微信支付之Native手册里面有的东西不多介绍,请求参数、返回结果之类的请移步官方手册查看。本文主要是通过一个demo实例进行讲解微信支付之统一下单接口。...

Redis Desktop Manager简单介绍及配置使用

Redis Desktop Manager简单介绍及配置使用

Redis Desktop Manager 简单的来讲就是Redis可视化工具,可以让我们看到Redis中存储的内容。一、下载Redis Desktop Manager百度网盘下载地址:https:/...