上一篇文章讲解“数据库查询构造器-更新数据”,本篇文章讲解“数据库查询构造器-删除数据”。
一、删除数据——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连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章
下一篇讲解“查询构造器-查询表达式”
领取专属 10元无门槛券
私享最新 技术干货