勾股OA在线文档

删除数据

删除数据可以使用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,写入数据为当前的时间戳。