ThinkPHP5开发连载二十七之数据库查询构造器删除数据

​上一篇文章讲解“数据库查询构造器-更新数据”,本篇文章讲解“数据库查询构造器-删除数据”。

一、删除数据——delete

1. 以主键删除

1)删除单条数据

新建Index控制器,并新建del方法:

预览——删除前数据库:

预览——删除后返回数据:

预览——删除后数据库:

2)删除多条数据

修改Index控制器下的del方法,同时删除多条数据:

预览——删除前数据库:

预览——删除后返回数据:

预览——删除后数据库:

2. 条件删除

在Index控制器中,新建delCon方法:

预览——删除前数据库:

预览——删除后返回数据:

预览——删除后数据库:

注意:

1. delete方法返回影响数据的条数,没有删除返回0。

3. 删除全表数据

如果不带任何条件调用delete方法会提示错误,如果你确实需要删除所有数据,可以在delete方法中传入true。

在数据库中新建表think_test,添加几个字段,再添加几条数据,用来测试全表删除

在Index控制器中,新建delTable方法

预览:

注意:

1. 不带删除条件,直接删除时,会抛出异常,如果确定要删除全表数据,在delete方法中传入true。

修改Index控制器下的delTable方法,在delete方法中传入true,删除全表数据

预览:

预览——删除后数据库:

注意:

1. 一般情况下,业务数据不建议真实删除数据,系统提供了软删除机制(模型中使用软删除更为方便)。

4. 软删除

在Index控制器中,新建delSoft方法:

预览——软删除前数据库:

预览——软删除后数据库:

注意:

1. useSoftDelete方法表示使用软删除,并且指定软删除字段为delete_time,写入数据为当前的时间戳。

2. 软删除的字段一般为delete_time,也可以设置成其他字段,整个项目统一即可。

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员

关注卓象程序员,定期发布技术文章

下一篇讲解“查询构造器-查询表达式”

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180825A0JATR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券