删除数据
删除数据可以使用delete()
方法
// 根据主键删除
Db::name('Admin')->delete(1);
Db::name('Admin')->delete([1,2,3]);
// 条件删除
Db::name('Admin')->where('id',1)->delete();
Db::name('Admin')->where('id','<',10)->delete();
delete方法返回影响数据的条数,没有删除返回0
如果不带任何条件调用delete方法会提示错误的,如果你确实需要删除数据表的所有数据,可以使用delete(true)
。
// 无条件删除admin表的所有数据
Db::name('Admin')->delete(true);
但是,一般情况下,业务数据不建议真实删除数据,TP6提供了软删除机制(逻辑删除)。
// 软删除数据 使用delete_time字段标记删除
Db::name('Admin')->where('id', 1)->useSoftDelete('delete_time',time())->delete();
实际执行的是UPDATE操作,useSoftDelete()
方法表示使用软删除,并且指定软删除字段为delete_time
,写入数据为当前的时间戳。