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

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

atao1年前 (2021-02-25)技术文章950

注意:

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

分享给朋友:

相关文章

超强的随机语录API接口,免费调用

超强的随机语录API接口,免费调用

API[ReplyVisible]http://www.yizhanhongtu.cn/api/api.php?type=1&text=json[/ReplyVisible] 支持协...

file_get_contents很慢?来看看php访问url的四种方式

file_get_contents很慢?来看看php访问url的四种方式

在使用file_get_contents方式访问URL的时候,会导致速度变的很慢,据说这是file_get_contents的一个bug,本文主要介绍PHP引入url的四种方式,其中包括file_ge...

jQuery Growl 插件(消息提醒) 弹出层插件

jQuery Growl 插件(消息提醒) 弹出层插件

jQuery Growl 插件(消息提醒) 允许您很容易地在一个覆盖层显示反馈消息。消息会在一段时间后自动消失,不需要单击"确定"按钮等。用户也可以通过移动鼠标或点击关闭按钮加快隐...

MySQL中,21个写SQL语句的好习惯

MySQL中,21个写SQL语句的好习惯

每一个好习惯都是一笔财富,本文分 SQL 后悔药、SQL 性能优化、SQL 规范优雅三个方向,分享写 SQL 的 21 个好习惯。1. 写完 SQL 先 explain 查看执行计划。【SQL 性能优...

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

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

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

发表评论

访客

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